(57)【要約】【課題】セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行う。【解決手段】本発明の一実施形態のＨＤＤは、ユーザ・データを不正なアクセスから保護するため、セキュリティ機能を実装している。ＨＤＤ１は、ベンダによる不良解析において、ホスト５１からのリード・コマンドに応じて、磁気ディスク１１に記憶されているユーザ・データをホストに転送することなく、エラー訂正位置を示すデータを転送する。これにより、ユーザ・データの内容を秘匿しつつ（セキュリティを維持しつつ）、ＨＤＤのより正確な不良解析を実現する。【選択図】図４
2010146127.tif 000002
【特許請求の範囲】
【請求項１】
メディアに記憶されているユーザ・データのセキュリティ機能を有するデータ記憶装置であって、
データを記憶するメディアと、
ホストから取得した鍵により認証処理を行う認証処理部と、
前記前記認証処理部により解析アクセス許可者と認証されたホストからのリード・コマンドが指定するアドレスのデータを前記メディアから読み出しにおいて、エラー訂正を行うエラー訂正回路と、
前記エラー訂正の位置を示すデータを生成して前記ホストに転送する解析処理部と、
を有するデータ記憶装置。
【請求項２】
前記生成されるデータは、前記リード・コマンドが指定するデータと同じデータ長を有し、前記生成されるデータは、規定の固定パターンにおいてエラー訂正した位置のビットが他のビットと異なるデータである、
請求項１に記載のデータ記憶装置。
【請求項３】
前記解析処理部は、前記リード・コマンドが指定したデータがエラー訂正不能である場合、指定データと同じデータ長で規定のビット・パターンを有するデータを前記ホストに転送する、
請求項１に記載のデータ記憶装置。
【請求項４】
前記解析処理部は、
前記メディアのアドレスとビット反転位置とを示すライト・コマンドを前記ホストから取得し、
前記アドレスから読み出したデータにおいて、前記指定された位置のビットを反転したデータを前記アドレスに書きこむ、
請求項１に記載のデータ記憶装置。
【請求項５】
前記リード・コマンドは、指定アドレスのデータとＥＣＣコードとを合わせて転送することを指示するリード・ロング・コマンドである、
請求項１に記載のデータ記憶装置。
【請求項６】
前記解析処理部は、
前記リード・ロング・コマンドと同一のアドレスを指定し、その指定アドレスのデータとＥＣＣコードの双方を含む範囲におけるビット反転位置を示すライト・ロング・コマンドを受信し、
前記指定アドレスから読み出したデータとＥＣＣコードとにおいて前記指定された位置のビットを反転したデータを、前記アドレスに書きこむ、
請求項５に記載のデータ記憶装置。
【請求項７】
ユーザ・データに対するセキュリティ機能を有するデータ記憶装置の解析方法であって、
ホストから取得した鍵により、解析を許可されたホストからのアクセスであることの認証処理を行い、
解析アクセス許可者であることが認証されたホストからのリード・コマンドを取得し、
前記リード・コマンドが指定するアドレスのデータをメディアから読み出し、
前記指定アドレスのユーザ・データと異なるデータであって、前記メディアからのデータ読み出しにおいてエラー訂正した位置を示すデータを生成し、
前記生成したデータを前記ホストに転送する、
解析方法。
【請求項８】
前記データ記憶装置からの前記エラー訂正した位置を示すデータを受け取り、
前記受け取ったデータを基に前記ホストのスクリーン上に前記メディアであるディスクにおける不良箇所を他の領域と異なる表現で表示する、
請求項７に記載の解析方法。
【請求項９】
前記生成されるデータは、前記リード・コマンドが指定するデータと同じデータ長を有し、規定の固定パターンにおいてエラー訂正した位置のビットが他のビットと異なるデータである、
請求項７に記載の解析方法。
【請求項１０】
前記リード・コマンドが指定したデータがエラー訂正不能である場合、指定データと同じデータ長で規定のビット・パターンを有するデータを前記ホストに転送する、
請求項７に記載の解析方法。
【請求項１１】
前記メディアのアドレスとビット反転位置とを示すライト・コマンドを前記ホストから取得し、
前記アドレスから読み出したデータにおいて、前記指定された位置のビットを反転したデータを前記アドレスに書きこむ、
請求項７に記載の解析方法。
【請求項１２】
前記リード・コマンドは、指定アドレスのデータとＥＣＣコードとを合わせて転送することを指示するリード・ロング・コマンドである、
請求項７に記載の解析方法。
【請求項１３】
前記リード・ロング・コマンドと同一のアドレスを指定し、その指定アドレスのデータとＥＣＣコードの双方を含む範囲におけるビット反転位置を示すライト・ロング・コマンドを受信し、
前記指定アドレスから読み出したデータとＥＣＣコードとにおいて前記指定された位置のビットを反転したデータを、前記アドレスに書きこむ、
請求項１２に記載の解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶装置及びデータ記憶装置の解析方法に関し、特に、セキュリティ機能を有するデータ記憶装置の不良解析に関する。
【背景技術】
【０００２】
データ記憶を記憶するメディアとして、光ディスク、光磁気ディスク、磁気ディスクあるいは半導体メモリなどの様々な方式が知られている。これらメディアを使用してデータを記憶するデータ記憶装置において、メディアに保存されるユーザ・データを不正なアクセスから保護するため、セキュリティ機能を実装することが提案されている。
【０００３】
例えは、ユーザ・データの機密保持をユーザ・ニーズとするセキュリティ機能付きＨＤＤが、特許文献１及び特許文献２において開示されている。これらに開示されたＨＤＤは、データは暗号化して磁気ディスクに記録する。ホスト・コンピュータはセキュリティ鍵を保持し、セキュリティ鍵を使用することで磁気ディスクからのデータ読み出しと磁気ディスクへのデータ書き込みを行うことができる。セキュリティ鍵を持たないホスト・コンピュータは、データを読み出し及び書き込みのいずれも行うことはできない。
【０００４】
他方、別のユーザ・ニーズとして、不良ＨＤＤのＦＡ（Failure Analysis：不良解析)の要求が存在する。不良ＨＤＤは、ユーザの手元からＨＤＤベンダへと返却され、ＨＤＤベンダは、他のＨＤＤと共通の不良が存在していないかを解析する。しかし、ＨＤＤにセキュリティ機能が実装されている場合、ＨＤＤベンダのホスト・コンピュータは、そのＨＤＤからデータを読み出すことも、データを書き込むこともできない。このため、ＨＤＤベンダは、リード／ライト系のエラーを解析することができない。
【０００５】
ＨＤＤベンダがセキュリティ鍵を有している場合、ＨＤＤベンダはセキュリティ機能付きＨＤＤのリード／ライトを行うことができる。しかし、ＨＤＤベンダが自由に磁気ディスクにアクセスできるため、秘密にすることを前提としているユーザ・データの内容が、ＨＤＤベンダに知られてしまう。
【特許文献１】特開２００４−２０１０３８号公報
【特許文献２】特開２００８−２４３２０６号公報
【特許文献３】特開２００７−２７２４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、ユーザ・データのセキュリティ（ＨＤＤベンダへのユーザ・データ内容の非開示）を維持しつつ、不良解析を可能とする技術が特許文献３に開示されている。特許文献３が開示するＨＤＤは、ユーザ・データを暗号化して、磁気ディスクに記録する。さらに、このＨＤＤは、セキュリティ・ロックの鍵として、利用者パスワードと製造者パスワードの二つの鍵を有している。利用者パスワードによりロックが解除された場合、ＨＤＤは、ユーザ・データを平文で出力する。製造者パスワードによりロックが解除された場合、ＨＤＤはを暗号化されたユーザ・データを出力する。これにより、ユーザ・データの内容を知られることなく、ＨＤＤの検査や修理を行うことができる。
【０００７】
しかし、ＨＤＤの不良解析においては、エラー訂正におけるエラー位置を特定することが必要とされることがある。しかし、上記特許文献３の技術のように、製造者パスワードによるアクセスに対して、暗号化されたユーザ・データを返す場合、データ・セクタ内のエラー訂正位置を知ることはできない。従って、ユーザ・データのセキュリティ（ＨＤＤベンダへの非開示）を維持しつつ、ＨＤＤベンダが不良ＨＤＤのエラー訂正位置を確認し、より正確な不良解析を行うことができる技術が望まれる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、メディアに記憶されているユーザ・データのセキュリティ機能を有するデータ記憶装置である。このデータ記憶装置は、データを記憶するメディアと、ホストから取得した鍵により認証処理を行う認証処理部と、前記前記認証処理部により解析アクセス許可者と認証されたホストからのリード・コマンドが指定するアドレスのデータを前記メディアから読み出しにおいて、エラー訂正を行うエラー訂正回路と、前記エラー訂正の位置を示すデータを生成して前記ホストに転送する解析処理部とを有する。これにより、セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行うことができる。
【０００９】
前記生成されるデータは、前記リード・コマンドが指定するデータと同じデータ長を有し、前記生成されるデータは、規定の固定パターンにおいてエラー訂正した位置のビットが他のビットと異なるデータであることが好ましい。これにより、通常のリード・コマンドと同様の仕様を使用しながら、エラー訂正位置を知らせることができる。好ましくは、前記解析処理部は、前記リード・コマンドが指定したデータがエラー訂正不能である場合、指定データと同じデータ長で規定のビット・パターンを有するデータを前記ホストに転送する。これにより、通常のリード・コマンドと同様の仕様を使用しながら、エラー訂正不能を知らせることができる。
【００１０】
好ましくは、前記解析処理部は、前記メディアのアドレスとビット反転位置とを示すライト・コマンドを前記ホストから取得し、前記アドレスから読み出したデータにおいて、前記指定された位置のビットを反転したデータを前記アドレスに書きこむ。これにより、その後のデータ回復を前提として、データを書き込むことができる。前記リード・コマンドは、指定アドレスのデータとＥＣＣコードとを合わせて転送することを指示するリード・ロング・コマンドである。このように、リード・ロング・コマンドで解析できることが好ましい。
【００１１】
前記解析処理部は、前記リード・ロング・コマンドと同一のアドレスを指定し、その指定アドレスのデータとＥＣＣコードの双方を含む範囲におけるビット反転位置を示すライト・ロング・コマンドを受信し、前記指定アドレスから読み出したデータとＥＣＣコードとにおいて前記指定された位置のビットを反転したデータを、前記アドレスに書きこむ。これにより、データ回復を前提としたリード・ロング・コマンドを使用した解析を行うことができる。
【００１２】
本発明の他の態様は、ユーザ・データに対するセキュリティ機能を有するデータ記憶装置の解析方法である。この方法は、ホストから取得した鍵により、解析を許可されたホストからのアクセスであることの認証処理を行う。解析アクセス許可者であることが認証されたホストからのリード・コマンドを取得する。前記リード・コマンドが指定するアドレスのデータをメディアから読み出す。前記指定アドレスのユーザ・データと異なるデータであって、前記メディアからのデータ読み出しにおいてエラー訂正した位置を示すデータを生成する。前記生成したデータを前記ホストに転送する。これにより、セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行うことができる。
【００１３】
前記データ記憶装置からの前記エラー訂正した位置を示すデータを受け取り、前記受け取ったデータを基に前記ホストのスクリーン上に前記メディアであるディスクにおける不良箇所を他の領域と異なる表現で表示することが好ましい。これにより、優れたユーザ・インターフェースによる解析を実現することができる。
【発明の効果】
【００１４】
本発明によれは、セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）について、本発明の実施形態を説明する。
【００１６】
本形態のＨＤＤは、ユーザ・データを不正なアクセスから保護するため、セキュリティ機能を実装している。セキュリティ機能は、例えば、不正ユーザによるＨＤＤの使用を拒否するもの（認証機能）、ユーザ・データを暗号して磁気ディスクに記録し不正ユーザに対して暗号化されたデータを返すもの（ユーザ・データ暗号化機能）、あるいは、これら双方を行うものが存在する。本形態は、セキュリティ機能を有するＨＤＤの不良解析に特徴を有している。本形態の手法は、上記いずれのセキュリティ機能を有するＨＤＤにも適用することができる。
【００１７】
本形態において、ＨＤＤは、ベンダによる不良解析において、ホストからのリード・コマンドに応じて、ディスクに記憶されているユーザ・データをホストに転送することなく、エラー訂正位置を示すデータを転送する。これにより、ユーザ・データの内容を秘匿しつつ（セキュリティを維持しつつ）、ＨＤＤのより正確な不良解析を実現する。
【００１８】
本形態の不良解析について詳細に説明する前に、まず、ＨＤＤの全体構成を説明する。図１は、ＨＤＤ１の全体構成を模式的に示すブロック図である。ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を有している。回路基板２０上に、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードウェアであるハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（ＨＤＣ／ＭＰＵ）２３及びＲＡＭ２４などの各回路が実装されている。
【００１９】
エンクロージャ１０内において、スピンドル・モータ（ＳＰＭ）１４は所定の角速度で磁気ディスク１１を回転する。磁気ディスク１１は、データを記憶するメディアである。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。各ヘッド・スライダ１２は、磁気ディスク上を浮上するスライダと、スライダに固定され磁気信号と電気信号との間の変換（データの読み書き）を行うヘッド素子部とを備えている。各ヘッド・スライダ１２はアクチュエータ１６の先端部に固定されている。アクチュエータ１６はボイス・コイル・モータ（ＶＣＭ）１５に連結され、回動軸を中心に回動することによって、ヘッド・スライダ１２を回転する磁気ディスク１１上においてその半径方向に移動する。
【００２０】
モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従ってＶＣＭ１５を駆動する。アーム電子回路（ＡＥ：Arm Electronics）１３は、ＨＤＣ／ＭＰＵ２３からの制御データに従って複数のヘッド・スライダ１２の中から磁気ディスク１１にアクセス（リードもしくはライト）するヘッド・スライダ１２を選択し、リード／ライト信号の増幅を行う。
【００２１】
ＲＷチャネル２１は、リード処理において、ＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、その後、取得したリード信号からデータを抽出し、デコード処理を行う。デコード処理されたデータは、ＨＤＣ／ＭＰＵ２３に供給される。また、ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、さらに、コード変調されたデータをライト信号に変換してＡＥ１３に供給する。
【００２２】
コントローラの一例であるＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４あるいはＨＤＣ内のＳＲＡＭにロードされたファーム・ウェアに従って動作する。ＨＤＣ／ＭＰＵ２３は、リード／ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド・ポジショニング制御（サーボ制御）、ホスト５１との間のインターフェース制御、ディフェクト管理、エラー対応処理など、データ処理に関する必要な処理及びＨＤＤ１の全体制御を実行する。
【００２３】
本形態のＨＤＣ／ＭＰＵ２３は、ユーザ・データのセキュリティ機能を有している。以下においては、好ましいセキュリティ機能として、ユーザ（ホスト５１）認証機能とユーザ・データの暗号化機能を有するＨＤＤの例を説明する。暗号化機能は、ユーザ・データを暗号鍵で暗号化して、磁気ディスク１１に記録する。リード処理においては、磁気ディスク１１から読み出したデータを復号化してホスト５１に転送する。
【００２４】
図２は、この暗号処理に関連する構成要素を模式的に示すブロック図である。ＨＤＣ／ＭＰＵ２３は、ホスト・インターフェース２３１、ＥＣＣ処理部２３２、メモリ・マネージャ２３３、暗号処理部２３４を有している。これらは、ハードウェアで構成されている。また、ＨＤＣ／ＭＰＵ２３は、ファーム・ウェアに従って動作するＭＰＵ２３５を有している。
【００２５】
ホスト・インターフェース２３１は、外部ホスト５１とのデータ通信におけるインターフェースである。ＥＣＣ処理部２３２は、磁気ディスク１１のデータの誤り検出及び誤り訂正処理を行う。メモリ・マネージャ２３３は、データ・フローの制御やメモリ・バスのアクセス制御等を実施する。暗号処理部２３４は、磁気ディスク１１のユーザ・データの暗号化及び復号化を行う。ＲＡＭ２４に形成されたデータ・バッファ２４１は、ライト・データ及びリード・データを一時的に格納する。
【００２６】
ユーザ・データのライト処理において、ホスト５１からのライト・データは、ホスト・インターフェース２３１を介して、暗号処理部２３４に転送される。暗号処理部２３４は、ライト・データを暗号化して、メモリ・マネージャ２３３に送る。メモリ・マネージャ２３３は、暗号化されたライト・データをデータ・バッファ２４１に格納する。メモリ・マネージャ２３３は、その後、データ・バッファ２４１からライト・データを取得して、ＥＣＣ処理部２３２に送る。ＥＣＣ処理部２３２は、誤り訂正のために必要な処理をライト・データに行い、ＲＷチャネル２１に送る。
【００２７】
ユーザ・データのリード処理において、ＥＣＣ処理部２３２は、ＲＷチャネル２１から転送された磁気ディスク１１からのリード・データの誤り訂正処理を行う。その後、リード・データは、メモリ・マネージャ２３３を介して、データ・バッファ２４１に格納される。メモリ・マネージャ２３３は、データ・バッファ２４１からリード・データを取得して暗号処理部２３４に送る。暗号処理部２３４は、リード・データの復号化処理を行う。復号化されたリード・データは、ホスト・インターフェース２３１を介して、ホスト５１に転送される。
【００２８】
図２の好ましい構成において、データの暗復号を実施する暗号処理部２３４は、ホスト・インターフェース２３１とメモリ・マネージャ２３３との間に位置する。ＨＤＤ１のホスト・インターフェース２３１を除く他の部分において、ＨＤＤ１は、ユーザ・データを暗号化した状態で取り扱うことが出来る。つまり、ＨＤＤ１の動作中において、データ・バッファ２４１内のユーザ・データも暗号化により保護されている。しかし、本発明の適用においては、暗号処理部２３４は、ＲＷチャネル２１内やＲＷチャネル２１とデータ・バッファ２４１の間など、ＨＤＤ１内の他の位置にあってもよい。
【００２９】
次に、図３を参照して、ユーザ・データのリード／ライト処理における、認証処理及びユーザ・データの暗復号化処理についてより具体的に説明する。暗号処理部２３４が使用する暗号方法は、ＡＥＳ（Advanced Encryption Standard）のような共通鍵暗号方式（秘密鍵暗号方式）とする。なお、本発明は、他の暗号方式に適用することもできる。磁気ディスク１１には、ユーザ・データのデータ暗号鍵Ｄｋｅｙが暗号化されて記録されている。データ暗号鍵Ｄｋｅｙは、ユーザ鍵のハッシュ関数Ｈ（ＵＫ）を暗号鍵として暗号化されている。一例として、データ暗号鍵Ｄｋｅｙも、ユーザ・データと同様に共通鍵方式による。
【００３０】
ＭＰＵ２３５は、認証処理部３５２として機能し、ホスト５１からユーザ鍵を取得すると、認証処理を行う。ユーザ鍵が正当なユーザである（不正アクセスではない）ことを示している場合、ＭＰＵ２３５はハッシュ関数３５１によりユーザ鍵から、データ暗号鍵Ｄｋｅｙ用の暗号鍵Ｅｋｅｙを生成する。ＭＰＵ２３５は、鍵復号化部３５３として機能し、データ暗号鍵Ｄｋｅｙ用の暗号鍵Ｅｋｅｙを使用して、磁気ディスク１１に記憶されている暗号化されたデータ暗号鍵Ｅ｛Ｄｋｅｙ｝を復号化する。
【００３１】
リード処理において、暗号処理部２３４は、復号化されたデータ暗号鍵Ｄｋｅｙを使用して、磁気ディスク１１から読み出したデータを復号化して、平文のユーザ・データをホスト５１へと転送する。ライト処理において、暗号処理部２３４は、ホスト５１から取得した平文のユーザ・データを暗号化して、磁気ディスク１１へと転送する。
【００３２】
以下において、上述のセキュリティ機能を有するＨＤＤ１の不良解析方法について具体的に説明を行う。不良解析においては、データ・セクタ内のエラー訂正位置（エラー位置）を知ることが必要とされる。本形態のＨＤＤ１は、ユーザ・データの内容を外部に漏らすことなく、エラー訂正位置をベンダのホスト５１に報告する。
【００３３】
図４は、ＨＤＤ１の不良解析において、ベンダのホスト５１がＨＤＤ１からデータを読み出す処理を模式的に示すブロック図である。ベンダのホスト５１はマスタ鍵を有しており、それをＨＤＤ１に送信する。認証処理部３５２として機能するＭＰＵ２３５は、ホスト５１から取得してマスタ鍵の認証処理を行う。マスタ鍵が正当な鍵である場合、ＭＰＵ２３５は不良解析処理部３５５として機能し、不良解析のためのリード処理を開始する。
【００３４】
不良解析処理部３５５は、ホスト５１からのリード・コマンドが指定するアドレスのデータを、磁気ディスク１１から読み出す。具体的には、不良解析処理部３５５は、ＨＤＣ内のディスク・マネージャ（不図示）に指示をして、磁気ディスク１１の指定アドレスからデータを読み出す。磁気ディスク１１から読み出されたデータは、ＲＷチャネル２１を介して、ＥＣＣ処理部２３２へと転送される。転送されるデータは暗号化されており、図４においては、読み出される暗号化されたデータの例が、ａ＊ｂ＊ｃ＊ｄ＊として示されている。ａ、ｂ、ｃ、ｄのそれぞれは１６進数で示す４ビット・データであり、暗号化されているデータには＊が付されている。これは、以下の他の図面を参照した説明において同様である。
【００３５】
ＥＣＣ処理部２３２は、データａ＊ｂ＊ｃ＊ｄ＊のエラー訂正処理を行い、エラー訂正したデータをデータ・バッファ２４１に転送する。図４の例においては、データｃ＊がエラー訂正されており、円で囲まれている。なお、以下の説明においては、４ビット・データ毎にエラー訂正位置を示す例を説明する。エラー訂正位置を示す単位は、１ビット毎あるは１バイト毎など、そのＨＤＤの設計により適切な値を選択することができる。
【００３６】
磁気ディスク１１から読み出したデータがデータ・バッファ２４１に格納されると、不良解析処理部３５５は、ＥＣＣ処理部２３２からエラー訂正結果を取得する。エラー訂正結果は、エラー訂正位置を示している。不良解析処理部３５５は、エラー訂正結果に従って、エラー訂正位置を示すデータを生成する。好ましい例において、生成されるデータは、磁気ディスク１１から読み出したデータａ＊ｂ＊ｃ＊ｄ＊と同じ長さであり、また、エラー訂正位置を示す数値が規定値である。
【００３７】
図４に示す好ましい例においては、エラー訂正されていないデータ（図４の例において４ビット・データ）を０（００００）で示し、エラー訂正されたデータを１（１１１１）で示している。エラー訂正位置を示すデータ（１１１１）は、無訂正位置を示すデータ（００００）を反転させたデータである。不良解析処理部３５５は、エラー訂正結果に応じて生成したデータ００１０を、ホスト・インターフェース２３１を介して、ホスト５１へ転送する。
【００３８】
ホスト５１は、ＨＤＤ１から転送されたデータ００１０を参照することで、リード・コマンドで指定したアドレス内においてエラー訂正された位置を知ることができ、ＨＤＤ１のエラー訂正能力を診断することができる。この処理を繰り返し行うことで、磁気ディスク１１の記録面上のエラー訂正位置を示すマップを形成することがでる。ホスト５１は、スクリーン上に、磁気ディスク１１の記録面上の不良箇所を他の領域と異なる表現で表示する。これにより、解析者は、ホスト５１がＨＤＤから取得した情報によりエラー位置マップを確認し、ＨＤＤ１の不良解析をより正確に行うことができる。ホスト５１が取得するデータは、ユーザ・データａｂｃｄとは全く異なるデータあり、セキュリティ対象となっているユーザ・データの内容が、外部に知られることはない。
【００３９】
エラー訂正位置を示すためには、ホスト５１に転送するデータは、リード・コマンドの指定するデータ長と同じデータ長であり、かつ、訂正位置のデータを規定のデータとすることが好適である。さらに、上記例においては、エラー訂正されていないデータを特定の固定パターン（上記例でビット０の羅列）で示し、エラー訂正されたデータをその反転データ（上記例でビット１の羅列）で示している。これにより、シンプルな規則及び処理により、ユーザ・データの内容を秘匿しながら、不良解析に必要な情報をホスト５１に与えることができる。
【００４０】
上述のように、ＥＣＣコードにより正常にエラー訂正を行うことができる場合は、エラー訂正位置を示すデータを転送する。しかし、ＥＣＣコードのエラー訂正能力を超えるエラーが存在する場合、不良解析処理部３５５は、エラー訂正不能を示すデータをホスト５１に送る。好ましい例において、不良解析処理部３５５は、固定パターン００００の全てのビットを反転させた１１１１をホスト５１に送信する。通常のリード処理において、エラー訂正不能のデータ・セクタが存在する場合、ＭＰＵ２３５はその旨の報告をホスト５１に行う。しかし、上記のように、リード・コマンドが指定するデータ長と同じデータ長の規定データを使用することで、エラー訂正できる場合と同様に処理することができる。
【００４１】
次に、図５のブロック図を参照して、不良解析におけるデータの書き込み方法を説明する。不良解析においては、所望のアドレスにデータを書き込み、さらにそれを読み出すことで、より正確な解析を行うことができる。しかし、磁気ディスク上にはユーザ・データが格納されており、そのデータを失うことは許されない。本形態のＨＤＤ１は、磁気ディスク上のユーザ・データ内容を知られることなく、また、そのデータを失うことなく、次不良解析におけるデータ書き込みを可能とする。
【００４２】
以下においては、図４を参照して説明したリード処理の後に、同じアドレス位置にデータを書き込む処理を説明する。認証処理部３５２によるマスタ鍵の認証処理が正常に終了すると、不良解析処理部３５５は、ホスト５１からライト・コマンドとデータ反転を行う位置を示すデータを取得する。ライト・コマンドはデータを書き込むアドレスを指定しており、本ケースにおいては、図４におけるリードと同じアドレスである。これにより、任意の位置にビットエラーを埋め込む試験が可能となる。
【００４３】
不良解析処理部３５５は、データ・バッファ２４１内に格納されている上記アドレスのデータａ＊ｂ＊ｃ＊ｄ＊を取得する。ｃ＊は、エラー訂正されたデータであり、図５においては円で囲まれている。不良解析処理部３５５は、ホスト５１から、データ反転位置を示すデータ０１００を取得している。これは、二番目の４ビット・データを反転することを指示している。具体的には、このデータ０１００は、４ビット毎の１６ビット・データあり、５番目〜８番目のビットが１であり、他のビットが０である。
【００４４】
不良解析処理部３５５は、ホスト５１からライト・コマンドが示すように、データａ＊ｂ＊ｃ＊ｄ＊の内、ｂ＊を反転したデータを生成し、それをデータ・バッファ２４１に格納する。不良解析処理部３５５は、メモリ・マネージャ２３３に指示して、ビット反転したｂ＊を含むデータａ＊ｂ＊ｃ＊ｄ＊を磁気ディスク１１の指定アドレスに書き込む。このとき、ＥＣＣ処理部２３２は、通常の手順によりａ＊ｂ＊ｃ＊ｄ＊のＥＣＣデータｘを生成して付加する。不良解析処理部３５５は、その後、ホスト５１からの指示に従って新上記データを再度読み出し、不良解析の情報をホスト５１に提供する。
【００４５】
必要な処理が終了すると、ホスト５１は、再度、ＨＤＤ１に上記アドレスへのデータ化書き込みを指示する。ライト・コマンドが指定するアドレス及び反転位置を示すデータとは、最初のデータ書き込みにおけるものと同一である。これにより、データを書き換えたアドレスに、当初の暗号化されたユーザ・データを書き込むことができる。
【００４６】
図５の下段に示すように、最初のライト処理において、データｂ＊の全ビットが反転されている。二回目のライト処理では、全ビット反転されたデータｂ＊を、さらに、全ビット反転させている。このため、データｂ＊が最初のビット列に戻っている。このように、ビット反転を使用することで、同一の処理（ライト処理）を繰り返すことで、磁気ディスク１１上のデータを損なうことなく、不良解析のためのデータ書き込みを行うことができる。上記例は、指定したデータｂ＊の全てのビットを反転しているが、その一部のビットを反転させてもよい。特定データとの排他的論理和を算出することで、任意ビットの反転を行うことができる。
【００４７】
上記例においては、リード処理を行った後、同一アドレスについてのライト処理を行う。この他、リード処理を行うことなく、ライト処理を行ってもよい。ホスト５１とＨＤＤ１の処理は、図５を参照して説明した内容と同じである。ホスト５１は、同一アドレス及び同一の反転指示を伴うライト・コマンドを、ＨＤＤ１に対して二回発行する。これにより、磁気ディスク上のユーザ・データを損なうことなく、不良解析におけるデータ書き込みを行うことができる。
【００４８】
次に、ＨＤＤ１の不良解析におけるリード・ロング・コマンドの処理について、図６のブロック図を参照して説明する。特殊なリード・コマンドであるリード・ロング・コマンドは、指定するデータ・セクタのユーザ・データに加え、そのデータ・セクタのＥＣＣコードも転送することを指示するコマンドである。基本的な部分は、図４を参照して説明した通常のリード・コマンドの処理と同様である。
【００４９】
図４を参照して説明したリード処理との違いは、ユーザ・データａ＊ｂ＊ｃ＊ｄ＊に加え、そのＥＣＣコードｘが存在することである。不良解析処理部３５５は、リード・コマンドに応じて、ユーザ・データａ＊ｂ＊ｃ＊ｄ＊及びＥＣＣコードｘを磁気ディスク１１から読み出す。さらに、ＥＣＣ処理部２３２から取得したエラー訂正結果に従って、ホスト５１に転送するためのデータを生成する。
【００５０】
不良解析処理部３５５は、ユーザ・データａ＊ｂ＊ｃ＊ｄ＊に付いては、図４における通常リード処理と同様の方法で新たなデータを生成する。セキュリティの点からは、ＥＣＣコードｘも漏洩すべきではない。不良解析処理部３５５は、ユーザ・データのためのデータ生成と同じ規則に従って、ＥＣＣコードｘに対応するデータを生成する。図６の例では、データｃ＊がエラー訂正されている。そのため、ｃ＊に対応したデータは１のビット列（１０進数で１５）であり、他のデータに対応したデータは０のビット列で構成されている。
【００５１】
続いて、ＨＤＤ１の不良解析におけるライト・ロング・コマンドの処理について、図７のブロック図を参照して説明する。ライト・ロング・コマンドは、指定するデータ・セクタにおいて、ユーザ・データに加えて指定したＥＣＣコードを書き込むことを指示するコマンドである。基本的な部分は、図５を参照して説明した通常のライト・コマンドの処理と同様である。
【００５２】
一般に、ライト・ロング・コマンドは、リード・ロング・コマンドが発行された後に発行される。また、ライト・ロング・コマンドの指定アドレスは、リード・ロング・コマンドの指定アドレスと同じである。以下においては、図６を参照して説明したリード・ロング・コマンドの後に発行されたライト・ロング・コマンドの処理を説明する。
【００５３】
認証処理部３５２の認証処理が正常に終了すると、不良解析処理部３５５は、ホスト５１からライト・ロング・コマンドを取得する。ライト・ロング・コマンドは、指定アドレスと、反転指定位置を示すデータとを伴っている。図７の例においては、ユーザ・データにおけるｂ＊とＥＣＣコードを反転することを指示するデータが送られている。反転位置を示すデータのフォーマットは、図５を参照して説明したライト処理と同様である。
【００５４】
不良解析処理部３５５は、データ・バッファ２４１内にあるユーザ・データとＥＣＣコードのセットａ＊ｂ＊ｃ＊ｄ＊＋ｘを取得する。不良解析処理部３５５は、ライト・ロング・コマンドと共に転送された反転指示データ０１００＋１を参照して、データａ＊ｂ＊ｃ＊ｄ＊＋ｘの一部を反転する。具体的には、データｂ＊とＥＣＣコードｘのそれぞれの全ビットを反転する。
【００５５】
不良解析処理部３５５は、所定のビットを反転したデータをデータ・バッファ２４１に格納し、メモリ・マネージャ２３３に指示して磁気ディスク１１（ＲＷチャネル２１）へ転送する。このとき、不良解析処理部３５５は、ＥＣＣ処理部２３２の機能をオフする。データ・バッファ２４１内のデータは、ＥＣＣ処理部２３２での処理を省略して、ＲＷチャネル２１へと転送される。これにより、ホスト５１が指定したＥＣＣコードを有するデータ・セクタを書き込むことができる。
【００５６】
図５を参照して説明したライト処理と同様に、一回の書き込みでは、磁気ディスク１１上のユーザ・データが変更されたままである。そのため、ホスト５１は、同一のライト・ロング・コマンドを再発行する。図７の下段は、同一ライト・ロング・コマンドによる二回のライト処理により、磁気ディスク１１上のデータ・セクタが回復される様子を示している。データの反転の方法については、図５を参照して説明した通常のライト処理と同様である。指定されたデータの一部もしくは全部のビットを反転させることができる。
【００５７】
これまでに説明において、不良解析処理部３５５は、磁気ディスク１１に記憶されているユーザ・データとは無関係であって、エラー訂正位置を示すデータだけが異なる固定パターンをホスト５１に転送している。これに対して、以下においては、磁気ディスク１１に記憶されているデータをそのまま、ホスト５１に転送する例を説明する。磁気ディスク上のデータは暗号化されている。そのため、そのデータをホスト５１に転送してもセキュリティの上からの問題はない。しかし、暗号化されたデータのみを取得しても、正確な不良解析には不十分である。
【００５８】
本形態においては、不良解析処理部３５５は、磁気ディスク上のデータを取得した後、そのアドレスにおけるデータを書き換える。これにより、書換え前と後のデータを取得することができるので、より正確な不良解析を行うことができる。さらに、ユーザ・データを損なうことないように、データを書き換えた後に、元のデータを再書き込みする。この手法は、図５及び７を参照して説明した方法と同様である。
【００５９】
以下においては、リード・ロング・コマンド及びライト・ロング・コマンドの処理を説明する。まず、図８を参照して、リード・ロング・コマンドの処理について説明する。認証処理部３５２によるマスタ鍵に対する認証処理が正常に終了すると、不良解析処理部３５５は、ホスト５１から取得したリード・ロング・コマンドに従って、指定アドレスのユーザ・データａ＊ｂ＊ｃ＊ｄ＊とＥＣＣコードｘとを読み出す。図８の例では、ＥＣＣ処理部により、データｃ＊がエラー訂正されている。不良解析処理部３５５は、磁気ディスク１１から読み出されたデータａ＊ｂ＊ｃ＊ｄ＊＋ｘを、そのまま、ホスト・インターフェース２３１を介して、ホスト５１に転送する。
【００６０】
続いて、図９のブロック図に示すように、ホスト５１は、リード・ロング・コマンドと同一のアドレスを指定したライト・ロング・コマンドを発行する。このライト・ロング・コマンドは、指定アドレスの他、書き込むべきライト・データを伴う。ライト・データは、前回のリード・ロング・コマンドにより取得したデータａ＊ｂ＊ｃ＊ｄ＊＋ｘの一部をビット反転させたデータである。図９の例において、ｂ＊とｘがビット反転されている。
【００６１】
ライト・データは、ホスト・インターフェース２３１を介して、データ・バッファ２４１に格納される。不良解析処理部３５５は、ホスト５１から転送されたデータを、磁気ディスク１１へと書き込む。このとき、ＥＣＣ処理部２３２の機能をＯＦＦすることで、ホスト５１から転送されたＥＣＣコード付きのデータを、磁気ディスク１１に記録することができる。不良解析に必要な処理が終了した後、ホスト５１は、ライト・ロング・コマンドを発行することにより、書換えを行った磁気ディスク上のデータ・セクタを、書換え前の状態に戻すことができる。
【００６２】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明を、磁気ディスクと異なるメディアを有するデータ記憶装置に適用することができる。
【図面の簡単な説明】
【００６３】
【図１】本実施形態に係るＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本実施形態に暗号処理に関連する構成要素を模式的に示すブロック図である。
【図３】本実施形態において、ユーザ・データのリード／ライト処理における認証処理及びユーザ・データの暗復号化処理を説明する図である。
【図４】本実施形態ににおいて、ＨＤＤの不良解析においてベンダがＨＤＤからデータを読み出す処理を模式的に示すブロック図である。
【図５】本実施形態の不良解析におけるデータの書き込み方法を示すブロック図である。
【図６】本実施形態の不良解析におけるリード・ロング・コマンドの処理を示すブロック図である。
【図７】本実施形態の不良解析におけるライト・ロング・コマンドの処理を示すブロック図である。
【図８】他の態様の不良解析におけるリード・ロング・コマンドの処理を示すブロック図である。
【図９】他の態様の不良解析におけるライト・ロング・コマンドの処理を示すブロック図である。
【符号の説明】
【００６４】
１  ハード・ディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド・スライダ、１３  アーム・エレクトロニクス（ＡＥ）、
１４  スピンドル・モータ、１５  ボイス・コイル・モータ、１６  アクチュエータ
２０  回路基板、２１  リード・ライト・チャネル、２２  モータ・ドライバ・ユニット
２３  ＨＤＣ／ＭＰＵ、２４  ＲＡＭ、５１  ホスト
２３１  ホスト・インターフェース、２３２  ＥＣＣ処理部
２３３  メモリ・マネージャ、２３４  暗号処理部、２３５  ＭＰＵ
２４１  データ・バッファ、３５１  ハッシュ関数、３５２  認証処理部
３５３  鍵復号化部、３５５  不良解析処理部
【図１】
2010146127.tif 000003
【図２】
2010146127.tif 000004
【図３】
2010146127.tif 000005
【図４】
2010146127.tif 000006
【図５】
2010146127.tif 000007
【図６】
2010146127.tif 000008
【図７】
2010146127.tif 000009
【図８】
2010146127.tif 000010
【図９】
2010146127.tif 000011