説明

データ記憶装置及びデータ記憶装置の解析方法

【課題】セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行う。
【解決手段】本発明の一実施形態のHDDは、ユーザ・データを不正なアクセスから保護するため、セキュリティ機能を実装している。HDD1は、ベンダによる不良解析において、ホスト51からのリード・コマンドに応じて、磁気ディスク11に記憶されているユーザ・データをホストに転送することなく、エラー訂正位置を示すデータを転送する。これにより、ユーザ・データの内容を秘匿しつつ(セキュリティを維持しつつ)、HDDのより正確な不良解析を実現する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ記憶装置及びデータ記憶装置の解析方法に関し、特に、セキュリティ機能を有するデータ記憶装置の不良解析に関する。
【背景技術】
【0002】
データ記憶を記憶するメディアとして、光ディスク、光磁気ディスク、磁気ディスクあるいは半導体メモリなどの様々な方式が知られている。これらメディアを使用してデータを記憶するデータ記憶装置において、メディアに保存されるユーザ・データを不正なアクセスから保護するため、セキュリティ機能を実装することが提案されている。
【0003】
例えは、ユーザ・データの機密保持をユーザ・ニーズとするセキュリティ機能付きHDDが、特許文献1及び特許文献2において開示されている。これらに開示されたHDDは、データは暗号化して磁気ディスクに記録する。ホスト・コンピュータはセキュリティ鍵を保持し、セキュリティ鍵を使用することで磁気ディスクからのデータ読み出しと磁気ディスクへのデータ書き込みを行うことができる。セキュリティ鍵を持たないホスト・コンピュータは、データを読み出し及び書き込みのいずれも行うことはできない。
【0004】
他方、別のユーザ・ニーズとして、不良HDDのFA(Failure Analysis:不良解析)の要求が存在する。不良HDDは、ユーザの手元からHDDベンダへと返却され、HDDベンダは、他のHDDと共通の不良が存在していないかを解析する。しかし、HDDにセキュリティ機能が実装されている場合、HDDベンダのホスト・コンピュータは、そのHDDからデータを読み出すことも、データを書き込むこともできない。このため、HDDベンダは、リード/ライト系のエラーを解析することができない。
【0005】
HDDベンダがセキュリティ鍵を有している場合、HDDベンダはセキュリティ機能付きHDDのリード/ライトを行うことができる。しかし、HDDベンダが自由に磁気ディスクにアクセスできるため、秘密にすることを前提としているユーザ・データの内容が、HDDベンダに知られてしまう。
【特許文献1】特開2004−201038号公報
【特許文献2】特開2008−243206号公報
【特許文献3】特開2007−272476号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
そこで、ユーザ・データのセキュリティ(HDDベンダへのユーザ・データ内容の非開示)を維持しつつ、不良解析を可能とする技術が特許文献3に開示されている。特許文献3が開示するHDDは、ユーザ・データを暗号化して、磁気ディスクに記録する。さらに、このHDDは、セキュリティ・ロックの鍵として、利用者パスワードと製造者パスワードの二つの鍵を有している。利用者パスワードによりロックが解除された場合、HDDは、ユーザ・データを平文で出力する。製造者パスワードによりロックが解除された場合、HDDはを暗号化されたユーザ・データを出力する。これにより、ユーザ・データの内容を知られることなく、HDDの検査や修理を行うことができる。
【0007】
しかし、HDDの不良解析においては、エラー訂正におけるエラー位置を特定することが必要とされることがある。しかし、上記特許文献3の技術のように、製造者パスワードによるアクセスに対して、暗号化されたユーザ・データを返す場合、データ・セクタ内のエラー訂正位置を知ることはできない。従って、ユーザ・データのセキュリティ(HDDベンダへの非開示)を維持しつつ、HDDベンダが不良HDDのエラー訂正位置を確認し、より正確な不良解析を行うことができる技術が望まれる。
【課題を解決するための手段】
【0008】
本発明の一態様は、メディアに記憶されているユーザ・データのセキュリティ機能を有するデータ記憶装置である。このデータ記憶装置は、データを記憶するメディアと、ホストから取得した鍵により認証処理を行う認証処理部と、前記前記認証処理部により解析アクセス許可者と認証されたホストからのリード・コマンドが指定するアドレスのデータを前記メディアから読み出しにおいて、エラー訂正を行うエラー訂正回路と、前記エラー訂正の位置を示すデータを生成して前記ホストに転送する解析処理部とを有する。これにより、セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行うことができる。
【0009】
前記生成されるデータは、前記リード・コマンドが指定するデータと同じデータ長を有し、前記生成されるデータは、規定の固定パターンにおいてエラー訂正した位置のビットが他のビットと異なるデータであることが好ましい。これにより、通常のリード・コマンドと同様の仕様を使用しながら、エラー訂正位置を知らせることができる。好ましくは、前記解析処理部は、前記リード・コマンドが指定したデータがエラー訂正不能である場合、指定データと同じデータ長で規定のビット・パターンを有するデータを前記ホストに転送する。これにより、通常のリード・コマンドと同様の仕様を使用しながら、エラー訂正不能を知らせることができる。
【0010】
好ましくは、前記解析処理部は、前記メディアのアドレスとビット反転位置とを示すライト・コマンドを前記ホストから取得し、前記アドレスから読み出したデータにおいて、前記指定された位置のビットを反転したデータを前記アドレスに書きこむ。これにより、その後のデータ回復を前提として、データを書き込むことができる。前記リード・コマンドは、指定アドレスのデータとECCコードとを合わせて転送することを指示するリード・ロング・コマンドである。このように、リード・ロング・コマンドで解析できることが好ましい。
【0011】
前記解析処理部は、前記リード・ロング・コマンドと同一のアドレスを指定し、その指定アドレスのデータとECCコードの双方を含む範囲におけるビット反転位置を示すライト・ロング・コマンドを受信し、前記指定アドレスから読み出したデータとECCコードとにおいて前記指定された位置のビットを反転したデータを、前記アドレスに書きこむ。これにより、データ回復を前提としたリード・ロング・コマンドを使用した解析を行うことができる。
【0012】
本発明の他の態様は、ユーザ・データに対するセキュリティ機能を有するデータ記憶装置の解析方法である。この方法は、ホストから取得した鍵により、解析を許可されたホストからのアクセスであることの認証処理を行う。解析アクセス許可者であることが認証されたホストからのリード・コマンドを取得する。前記リード・コマンドが指定するアドレスのデータをメディアから読み出す。前記指定アドレスのユーザ・データと異なるデータであって、前記メディアからのデータ読み出しにおいてエラー訂正した位置を示すデータを生成する。前記生成したデータを前記ホストに転送する。これにより、セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行うことができる。
【0013】
前記データ記憶装置からの前記エラー訂正した位置を示すデータを受け取り、前記受け取ったデータを基に前記ホストのスクリーン上に前記メディアであるディスクにおける不良箇所を他の領域と異なる表現で表示することが好ましい。これにより、優れたユーザ・インターフェースによる解析を実現することができる。
【発明の効果】
【0014】
本発明によれは、セキュリティ機能を有するデータ記憶装置の不良解析を、ユーザ・データの内容が知られることなく行うことができる。
【発明を実施するための最良の形態】
【0015】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、データ記憶装置の一例であるハードディスク・ドライブ(HDD)について、本発明の実施形態を説明する。
【0016】
本形態のHDDは、ユーザ・データを不正なアクセスから保護するため、セキュリティ機能を実装している。セキュリティ機能は、例えば、不正ユーザによるHDDの使用を拒否するもの(認証機能)、ユーザ・データを暗号して磁気ディスクに記録し不正ユーザに対して暗号化されたデータを返すもの(ユーザ・データ暗号化機能)、あるいは、これら双方を行うものが存在する。本形態は、セキュリティ機能を有するHDDの不良解析に特徴を有している。本形態の手法は、上記いずれのセキュリティ機能を有するHDDにも適用することができる。
【0017】
本形態において、HDDは、ベンダによる不良解析において、ホストからのリード・コマンドに応じて、ディスクに記憶されているユーザ・データをホストに転送することなく、エラー訂正位置を示すデータを転送する。これにより、ユーザ・データの内容を秘匿しつつ(セキュリティを維持しつつ)、HDDのより正確な不良解析を実現する。
【0018】
本形態の不良解析について詳細に説明する前に、まず、HDDの全体構成を説明する。図1は、HDD1の全体構成を模式的に示すブロック図である。HDD1は、エンクロージャ10の外側に固定された回路基板20を有している。回路基板20上に、リード・ライト・チャネル(RWチャネル)21、モータ・ドライバ・ユニット22、ハードウェアであるハードディスク・コントローラ(HDC)とMPUの集積回路(HDC/MPU)23及びRAM24などの各回路が実装されている。
【0019】
エンクロージャ10内において、スピンドル・モータ(SPM)14は所定の角速度で磁気ディスク11を回転する。磁気ディスク11は、データを記憶するメディアである。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。各ヘッド・スライダ12は、磁気ディスク上を浮上するスライダと、スライダに固定され磁気信号と電気信号との間の変換(データの読み書き)を行うヘッド素子部とを備えている。各ヘッド・スライダ12はアクチュエータ16の先端部に固定されている。アクチュエータ16はボイス・コイル・モータ(VCM)15に連結され、回動軸を中心に回動することによって、ヘッド・スライダ12を回転する磁気ディスク11上においてその半径方向に移動する。
【0020】
モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。アーム電子回路(AE:Arm Electronics)13は、HDC/MPU23からの制御データに従って複数のヘッド・スライダ12の中から磁気ディスク11にアクセス(リードもしくはライト)するヘッド・スライダ12を選択し、リード/ライト信号の増幅を行う。
【0021】
RWチャネル21は、リード処理において、AE13から供給されたリード信号を一定の振幅となるように増幅し、その後、取得したリード信号からデータを抽出し、デコード処理を行う。デコード処理されたデータは、HDC/MPU23に供給される。また、RWチャネル21は、ライト処理において、HDC/MPU23から供給されたライト・データをコード変調し、さらに、コード変調されたデータをライト信号に変換してAE13に供給する。
【0022】
コントローラの一例であるHDC/MPU23において、MPUはRAM24あるいはHDC内のSRAMにロードされたファーム・ウェアに従って動作する。HDC/MPU23は、リード/ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド・ポジショニング制御(サーボ制御)、ホスト51との間のインターフェース制御、ディフェクト管理、エラー対応処理など、データ処理に関する必要な処理及びHDD1の全体制御を実行する。
【0023】
本形態のHDC/MPU23は、ユーザ・データのセキュリティ機能を有している。以下においては、好ましいセキュリティ機能として、ユーザ(ホスト51)認証機能とユーザ・データの暗号化機能を有するHDDの例を説明する。暗号化機能は、ユーザ・データを暗号鍵で暗号化して、磁気ディスク11に記録する。リード処理においては、磁気ディスク11から読み出したデータを復号化してホスト51に転送する。
【0024】
図2は、この暗号処理に関連する構成要素を模式的に示すブロック図である。HDC/MPU23は、ホスト・インターフェース231、ECC処理部232、メモリ・マネージャ233、暗号処理部234を有している。これらは、ハードウェアで構成されている。また、HDC/MPU23は、ファーム・ウェアに従って動作するMPU235を有している。
【0025】
ホスト・インターフェース231は、外部ホスト51とのデータ通信におけるインターフェースである。ECC処理部232は、磁気ディスク11のデータの誤り検出及び誤り訂正処理を行う。メモリ・マネージャ233は、データ・フローの制御やメモリ・バスのアクセス制御等を実施する。暗号処理部234は、磁気ディスク11のユーザ・データの暗号化及び復号化を行う。RAM24に形成されたデータ・バッファ241は、ライト・データ及びリード・データを一時的に格納する。
【0026】
ユーザ・データのライト処理において、ホスト51からのライト・データは、ホスト・インターフェース231を介して、暗号処理部234に転送される。暗号処理部234は、ライト・データを暗号化して、メモリ・マネージャ233に送る。メモリ・マネージャ233は、暗号化されたライト・データをデータ・バッファ241に格納する。メモリ・マネージャ233は、その後、データ・バッファ241からライト・データを取得して、ECC処理部232に送る。ECC処理部232は、誤り訂正のために必要な処理をライト・データに行い、RWチャネル21に送る。
【0027】
ユーザ・データのリード処理において、ECC処理部232は、RWチャネル21から転送された磁気ディスク11からのリード・データの誤り訂正処理を行う。その後、リード・データは、メモリ・マネージャ233を介して、データ・バッファ241に格納される。メモリ・マネージャ233は、データ・バッファ241からリード・データを取得して暗号処理部234に送る。暗号処理部234は、リード・データの復号化処理を行う。復号化されたリード・データは、ホスト・インターフェース231を介して、ホスト51に転送される。
【0028】
図2の好ましい構成において、データの暗復号を実施する暗号処理部234は、ホスト・インターフェース231とメモリ・マネージャ233との間に位置する。HDD1のホスト・インターフェース231を除く他の部分において、HDD1は、ユーザ・データを暗号化した状態で取り扱うことが出来る。つまり、HDD1の動作中において、データ・バッファ241内のユーザ・データも暗号化により保護されている。しかし、本発明の適用においては、暗号処理部234は、RWチャネル21内やRWチャネル21とデータ・バッファ241の間など、HDD1内の他の位置にあってもよい。
【0029】
次に、図3を参照して、ユーザ・データのリード/ライト処理における、認証処理及びユーザ・データの暗復号化処理についてより具体的に説明する。暗号処理部234が使用する暗号方法は、AES(Advanced Encryption Standard)のような共通鍵暗号方式(秘密鍵暗号方式)とする。なお、本発明は、他の暗号方式に適用することもできる。磁気ディスク11には、ユーザ・データのデータ暗号鍵Dkeyが暗号化されて記録されている。データ暗号鍵Dkeyは、ユーザ鍵のハッシュ関数H(UK)を暗号鍵として暗号化されている。一例として、データ暗号鍵Dkeyも、ユーザ・データと同様に共通鍵方式による。
【0030】
MPU235は、認証処理部352として機能し、ホスト51からユーザ鍵を取得すると、認証処理を行う。ユーザ鍵が正当なユーザである(不正アクセスではない)ことを示している場合、MPU235はハッシュ関数351によりユーザ鍵から、データ暗号鍵Dkey用の暗号鍵Ekeyを生成する。MPU235は、鍵復号化部353として機能し、データ暗号鍵Dkey用の暗号鍵Ekeyを使用して、磁気ディスク11に記憶されている暗号化されたデータ暗号鍵E{Dkey}を復号化する。
【0031】
リード処理において、暗号処理部234は、復号化されたデータ暗号鍵Dkeyを使用して、磁気ディスク11から読み出したデータを復号化して、平文のユーザ・データをホスト51へと転送する。ライト処理において、暗号処理部234は、ホスト51から取得した平文のユーザ・データを暗号化して、磁気ディスク11へと転送する。
【0032】
以下において、上述のセキュリティ機能を有するHDD1の不良解析方法について具体的に説明を行う。不良解析においては、データ・セクタ内のエラー訂正位置(エラー位置)を知ることが必要とされる。本形態のHDD1は、ユーザ・データの内容を外部に漏らすことなく、エラー訂正位置をベンダのホスト51に報告する。
【0033】
図4は、HDD1の不良解析において、ベンダのホスト51がHDD1からデータを読み出す処理を模式的に示すブロック図である。ベンダのホスト51はマスタ鍵を有しており、それをHDD1に送信する。認証処理部352として機能するMPU235は、ホスト51から取得してマスタ鍵の認証処理を行う。マスタ鍵が正当な鍵である場合、MPU235は不良解析処理部355として機能し、不良解析のためのリード処理を開始する。
【0034】
不良解析処理部355は、ホスト51からのリード・コマンドが指定するアドレスのデータを、磁気ディスク11から読み出す。具体的には、不良解析処理部355は、HDC内のディスク・マネージャ(不図示)に指示をして、磁気ディスク11の指定アドレスからデータを読み出す。磁気ディスク11から読み出されたデータは、RWチャネル21を介して、ECC処理部232へと転送される。転送されるデータは暗号化されており、図4においては、読み出される暗号化されたデータの例が、a*b*c*d*として示されている。a、b、c、dのそれぞれは16進数で示す4ビット・データであり、暗号化されているデータには*が付されている。これは、以下の他の図面を参照した説明において同様である。
【0035】
ECC処理部232は、データa*b*c*d*のエラー訂正処理を行い、エラー訂正したデータをデータ・バッファ241に転送する。図4の例においては、データc*がエラー訂正されており、円で囲まれている。なお、以下の説明においては、4ビット・データ毎にエラー訂正位置を示す例を説明する。エラー訂正位置を示す単位は、1ビット毎あるは1バイト毎など、そのHDDの設計により適切な値を選択することができる。
【0036】
磁気ディスク11から読み出したデータがデータ・バッファ241に格納されると、不良解析処理部355は、ECC処理部232からエラー訂正結果を取得する。エラー訂正結果は、エラー訂正位置を示している。不良解析処理部355は、エラー訂正結果に従って、エラー訂正位置を示すデータを生成する。好ましい例において、生成されるデータは、磁気ディスク11から読み出したデータa*b*c*d*と同じ長さであり、また、エラー訂正位置を示す数値が規定値である。
【0037】
図4に示す好ましい例においては、エラー訂正されていないデータ(図4の例において4ビット・データ)を0(0000)で示し、エラー訂正されたデータを1(1111)で示している。エラー訂正位置を示すデータ(1111)は、無訂正位置を示すデータ(0000)を反転させたデータである。不良解析処理部355は、エラー訂正結果に応じて生成したデータ0010を、ホスト・インターフェース231を介して、ホスト51へ転送する。
【0038】
ホスト51は、HDD1から転送されたデータ0010を参照することで、リード・コマンドで指定したアドレス内においてエラー訂正された位置を知ることができ、HDD1のエラー訂正能力を診断することができる。この処理を繰り返し行うことで、磁気ディスク11の記録面上のエラー訂正位置を示すマップを形成することがでる。ホスト51は、スクリーン上に、磁気ディスク11の記録面上の不良箇所を他の領域と異なる表現で表示する。これにより、解析者は、ホスト51がHDDから取得した情報によりエラー位置マップを確認し、HDD1の不良解析をより正確に行うことができる。ホスト51が取得するデータは、ユーザ・データabcdとは全く異なるデータあり、セキュリティ対象となっているユーザ・データの内容が、外部に知られることはない。
【0039】
エラー訂正位置を示すためには、ホスト51に転送するデータは、リード・コマンドの指定するデータ長と同じデータ長であり、かつ、訂正位置のデータを規定のデータとすることが好適である。さらに、上記例においては、エラー訂正されていないデータを特定の固定パターン(上記例でビット0の羅列)で示し、エラー訂正されたデータをその反転データ(上記例でビット1の羅列)で示している。これにより、シンプルな規則及び処理により、ユーザ・データの内容を秘匿しながら、不良解析に必要な情報をホスト51に与えることができる。
【0040】
上述のように、ECCコードにより正常にエラー訂正を行うことができる場合は、エラー訂正位置を示すデータを転送する。しかし、ECCコードのエラー訂正能力を超えるエラーが存在する場合、不良解析処理部355は、エラー訂正不能を示すデータをホスト51に送る。好ましい例において、不良解析処理部355は、固定パターン0000の全てのビットを反転させた1111をホスト51に送信する。通常のリード処理において、エラー訂正不能のデータ・セクタが存在する場合、MPU235はその旨の報告をホスト51に行う。しかし、上記のように、リード・コマンドが指定するデータ長と同じデータ長の規定データを使用することで、エラー訂正できる場合と同様に処理することができる。
【0041】
次に、図5のブロック図を参照して、不良解析におけるデータの書き込み方法を説明する。不良解析においては、所望のアドレスにデータを書き込み、さらにそれを読み出すことで、より正確な解析を行うことができる。しかし、磁気ディスク上にはユーザ・データが格納されており、そのデータを失うことは許されない。本形態のHDD1は、磁気ディスク上のユーザ・データ内容を知られることなく、また、そのデータを失うことなく、次不良解析におけるデータ書き込みを可能とする。
【0042】
以下においては、図4を参照して説明したリード処理の後に、同じアドレス位置にデータを書き込む処理を説明する。認証処理部352によるマスタ鍵の認証処理が正常に終了すると、不良解析処理部355は、ホスト51からライト・コマンドとデータ反転を行う位置を示すデータを取得する。ライト・コマンドはデータを書き込むアドレスを指定しており、本ケースにおいては、図4におけるリードと同じアドレスである。これにより、任意の位置にビットエラーを埋め込む試験が可能となる。
【0043】
不良解析処理部355は、データ・バッファ241内に格納されている上記アドレスのデータa*b*c*d*を取得する。c*は、エラー訂正されたデータであり、図5においては円で囲まれている。不良解析処理部355は、ホスト51から、データ反転位置を示すデータ0100を取得している。これは、二番目の4ビット・データを反転することを指示している。具体的には、このデータ0100は、4ビット毎の16ビット・データあり、5番目〜8番目のビットが1であり、他のビットが0である。
【0044】
不良解析処理部355は、ホスト51からライト・コマンドが示すように、データa*b*c*d*の内、b*を反転したデータを生成し、それをデータ・バッファ241に格納する。不良解析処理部355は、メモリ・マネージャ233に指示して、ビット反転したb*を含むデータa*b*c*d*を磁気ディスク11の指定アドレスに書き込む。このとき、ECC処理部232は、通常の手順によりa*b*c*d*のECCデータxを生成して付加する。不良解析処理部355は、その後、ホスト51からの指示に従って新上記データを再度読み出し、不良解析の情報をホスト51に提供する。
【0045】
必要な処理が終了すると、ホスト51は、再度、HDD1に上記アドレスへのデータ化書き込みを指示する。ライト・コマンドが指定するアドレス及び反転位置を示すデータとは、最初のデータ書き込みにおけるものと同一である。これにより、データを書き換えたアドレスに、当初の暗号化されたユーザ・データを書き込むことができる。
【0046】
図5の下段に示すように、最初のライト処理において、データb*の全ビットが反転されている。二回目のライト処理では、全ビット反転されたデータb*を、さらに、全ビット反転させている。このため、データb*が最初のビット列に戻っている。このように、ビット反転を使用することで、同一の処理(ライト処理)を繰り返すことで、磁気ディスク11上のデータを損なうことなく、不良解析のためのデータ書き込みを行うことができる。上記例は、指定したデータb*の全てのビットを反転しているが、その一部のビットを反転させてもよい。特定データとの排他的論理和を算出することで、任意ビットの反転を行うことができる。
【0047】
上記例においては、リード処理を行った後、同一アドレスについてのライト処理を行う。この他、リード処理を行うことなく、ライト処理を行ってもよい。ホスト51とHDD1の処理は、図5を参照して説明した内容と同じである。ホスト51は、同一アドレス及び同一の反転指示を伴うライト・コマンドを、HDD1に対して二回発行する。これにより、磁気ディスク上のユーザ・データを損なうことなく、不良解析におけるデータ書き込みを行うことができる。
【0048】
次に、HDD1の不良解析におけるリード・ロング・コマンドの処理について、図6のブロック図を参照して説明する。特殊なリード・コマンドであるリード・ロング・コマンドは、指定するデータ・セクタのユーザ・データに加え、そのデータ・セクタのECCコードも転送することを指示するコマンドである。基本的な部分は、図4を参照して説明した通常のリード・コマンドの処理と同様である。
【0049】
図4を参照して説明したリード処理との違いは、ユーザ・データa*b*c*d*に加え、そのECCコードxが存在することである。不良解析処理部355は、リード・コマンドに応じて、ユーザ・データa*b*c*d*及びECCコードxを磁気ディスク11から読み出す。さらに、ECC処理部232から取得したエラー訂正結果に従って、ホスト51に転送するためのデータを生成する。
【0050】
不良解析処理部355は、ユーザ・データa*b*c*d*に付いては、図4における通常リード処理と同様の方法で新たなデータを生成する。セキュリティの点からは、ECCコードxも漏洩すべきではない。不良解析処理部355は、ユーザ・データのためのデータ生成と同じ規則に従って、ECCコードxに対応するデータを生成する。図6の例では、データc*がエラー訂正されている。そのため、c*に対応したデータは1のビット列(10進数で15)であり、他のデータに対応したデータは0のビット列で構成されている。
【0051】
続いて、HDD1の不良解析におけるライト・ロング・コマンドの処理について、図7のブロック図を参照して説明する。ライト・ロング・コマンドは、指定するデータ・セクタにおいて、ユーザ・データに加えて指定したECCコードを書き込むことを指示するコマンドである。基本的な部分は、図5を参照して説明した通常のライト・コマンドの処理と同様である。
【0052】
一般に、ライト・ロング・コマンドは、リード・ロング・コマンドが発行された後に発行される。また、ライト・ロング・コマンドの指定アドレスは、リード・ロング・コマンドの指定アドレスと同じである。以下においては、図6を参照して説明したリード・ロング・コマンドの後に発行されたライト・ロング・コマンドの処理を説明する。
【0053】
認証処理部352の認証処理が正常に終了すると、不良解析処理部355は、ホスト51からライト・ロング・コマンドを取得する。ライト・ロング・コマンドは、指定アドレスと、反転指定位置を示すデータとを伴っている。図7の例においては、ユーザ・データにおけるb*とECCコードを反転することを指示するデータが送られている。反転位置を示すデータのフォーマットは、図5を参照して説明したライト処理と同様である。
【0054】
不良解析処理部355は、データ・バッファ241内にあるユーザ・データとECCコードのセットa*b*c*d*+xを取得する。不良解析処理部355は、ライト・ロング・コマンドと共に転送された反転指示データ0100+1を参照して、データa*b*c*d*+xの一部を反転する。具体的には、データb*とECCコードxのそれぞれの全ビットを反転する。
【0055】
不良解析処理部355は、所定のビットを反転したデータをデータ・バッファ241に格納し、メモリ・マネージャ233に指示して磁気ディスク11(RWチャネル21)へ転送する。このとき、不良解析処理部355は、ECC処理部232の機能をオフする。データ・バッファ241内のデータは、ECC処理部232での処理を省略して、RWチャネル21へと転送される。これにより、ホスト51が指定したECCコードを有するデータ・セクタを書き込むことができる。
【0056】
図5を参照して説明したライト処理と同様に、一回の書き込みでは、磁気ディスク11上のユーザ・データが変更されたままである。そのため、ホスト51は、同一のライト・ロング・コマンドを再発行する。図7の下段は、同一ライト・ロング・コマンドによる二回のライト処理により、磁気ディスク11上のデータ・セクタが回復される様子を示している。データの反転の方法については、図5を参照して説明した通常のライト処理と同様である。指定されたデータの一部もしくは全部のビットを反転させることができる。
【0057】
これまでに説明において、不良解析処理部355は、磁気ディスク11に記憶されているユーザ・データとは無関係であって、エラー訂正位置を示すデータだけが異なる固定パターンをホスト51に転送している。これに対して、以下においては、磁気ディスク11に記憶されているデータをそのまま、ホスト51に転送する例を説明する。磁気ディスク上のデータは暗号化されている。そのため、そのデータをホスト51に転送してもセキュリティの上からの問題はない。しかし、暗号化されたデータのみを取得しても、正確な不良解析には不十分である。
【0058】
本形態においては、不良解析処理部355は、磁気ディスク上のデータを取得した後、そのアドレスにおけるデータを書き換える。これにより、書換え前と後のデータを取得することができるので、より正確な不良解析を行うことができる。さらに、ユーザ・データを損なうことないように、データを書き換えた後に、元のデータを再書き込みする。この手法は、図5及び7を参照して説明した方法と同様である。
【0059】
以下においては、リード・ロング・コマンド及びライト・ロング・コマンドの処理を説明する。まず、図8を参照して、リード・ロング・コマンドの処理について説明する。認証処理部352によるマスタ鍵に対する認証処理が正常に終了すると、不良解析処理部355は、ホスト51から取得したリード・ロング・コマンドに従って、指定アドレスのユーザ・データa*b*c*d*とECCコードxとを読み出す。図8の例では、ECC処理部により、データc*がエラー訂正されている。不良解析処理部355は、磁気ディスク11から読み出されたデータa*b*c*d*+xを、そのまま、ホスト・インターフェース231を介して、ホスト51に転送する。
【0060】
続いて、図9のブロック図に示すように、ホスト51は、リード・ロング・コマンドと同一のアドレスを指定したライト・ロング・コマンドを発行する。このライト・ロング・コマンドは、指定アドレスの他、書き込むべきライト・データを伴う。ライト・データは、前回のリード・ロング・コマンドにより取得したデータa*b*c*d*+xの一部をビット反転させたデータである。図9の例において、b*とxがビット反転されている。
【0061】
ライト・データは、ホスト・インターフェース231を介して、データ・バッファ241に格納される。不良解析処理部355は、ホスト51から転送されたデータを、磁気ディスク11へと書き込む。このとき、ECC処理部232の機能をOFFすることで、ホスト51から転送されたECCコード付きのデータを、磁気ディスク11に記録することができる。不良解析に必要な処理が終了した後、ホスト51は、ライト・ロング・コマンドを発行することにより、書換えを行った磁気ディスク上のデータ・セクタを、書換え前の状態に戻すことができる。
【0062】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明を、磁気ディスクと異なるメディアを有するデータ記憶装置に適用することができる。
【図面の簡単な説明】
【0063】
【図1】本実施形態に係るHDDの全体構成を模式的に示すブロック図である。
【図2】本実施形態に暗号処理に関連する構成要素を模式的に示すブロック図である。
【図3】本実施形態において、ユーザ・データのリード/ライト処理における認証処理及びユーザ・データの暗復号化処理を説明する図である。
【図4】本実施形態ににおいて、HDDの不良解析においてベンダがHDDからデータを読み出す処理を模式的に示すブロック図である。
【図5】本実施形態の不良解析におけるデータの書き込み方法を示すブロック図である。
【図6】本実施形態の不良解析におけるリード・ロング・コマンドの処理を示すブロック図である。
【図7】本実施形態の不良解析におけるライト・ロング・コマンドの処理を示すブロック図である。
【図8】他の態様の不良解析におけるリード・ロング・コマンドの処理を示すブロック図である。
【図9】他の態様の不良解析におけるライト・ロング・コマンドの処理を示すブロック図である。
【符号の説明】
【0064】
1 ハード・ディスク・ドライブ、10 エンクロージャ、11 磁気ディスク
12 ヘッド・スライダ、13 アーム・エレクトロニクス(AE)、
14 スピンドル・モータ、15 ボイス・コイル・モータ、16 アクチュエータ
20 回路基板、21 リード・ライト・チャネル、22 モータ・ドライバ・ユニット
23 HDC/MPU、24 RAM、51 ホスト
231 ホスト・インターフェース、232 ECC処理部
233 メモリ・マネージャ、234 暗号処理部、235 MPU
241 データ・バッファ、351 ハッシュ関数、352 認証処理部
353 鍵復号化部、355 不良解析処理部

【特許請求の範囲】
【請求項1】
メディアに記憶されているユーザ・データのセキュリティ機能を有するデータ記憶装置であって、
データを記憶するメディアと、
ホストから取得した鍵により認証処理を行う認証処理部と、
前記前記認証処理部により解析アクセス許可者と認証されたホストからのリード・コマンドが指定するアドレスのデータを前記メディアから読み出しにおいて、エラー訂正を行うエラー訂正回路と、
前記エラー訂正の位置を示すデータを生成して前記ホストに転送する解析処理部と、
を有するデータ記憶装置。
【請求項2】
前記生成されるデータは、前記リード・コマンドが指定するデータと同じデータ長を有し、前記生成されるデータは、規定の固定パターンにおいてエラー訂正した位置のビットが他のビットと異なるデータである、
請求項1に記載のデータ記憶装置。
【請求項3】
前記解析処理部は、前記リード・コマンドが指定したデータがエラー訂正不能である場合、指定データと同じデータ長で規定のビット・パターンを有するデータを前記ホストに転送する、
請求項1に記載のデータ記憶装置。
【請求項4】
前記解析処理部は、
前記メディアのアドレスとビット反転位置とを示すライト・コマンドを前記ホストから取得し、
前記アドレスから読み出したデータにおいて、前記指定された位置のビットを反転したデータを前記アドレスに書きこむ、
請求項1に記載のデータ記憶装置。
【請求項5】
前記リード・コマンドは、指定アドレスのデータとECCコードとを合わせて転送することを指示するリード・ロング・コマンドである、
請求項1に記載のデータ記憶装置。
【請求項6】
前記解析処理部は、
前記リード・ロング・コマンドと同一のアドレスを指定し、その指定アドレスのデータとECCコードの双方を含む範囲におけるビット反転位置を示すライト・ロング・コマンドを受信し、
前記指定アドレスから読み出したデータとECCコードとにおいて前記指定された位置のビットを反転したデータを、前記アドレスに書きこむ、
請求項5に記載のデータ記憶装置。
【請求項7】
ユーザ・データに対するセキュリティ機能を有するデータ記憶装置の解析方法であって、
ホストから取得した鍵により、解析を許可されたホストからのアクセスであることの認証処理を行い、
解析アクセス許可者であることが認証されたホストからのリード・コマンドを取得し、
前記リード・コマンドが指定するアドレスのデータをメディアから読み出し、
前記指定アドレスのユーザ・データと異なるデータであって、前記メディアからのデータ読み出しにおいてエラー訂正した位置を示すデータを生成し、
前記生成したデータを前記ホストに転送する、
解析方法。
【請求項8】
前記データ記憶装置からの前記エラー訂正した位置を示すデータを受け取り、
前記受け取ったデータを基に前記ホストのスクリーン上に前記メディアであるディスクにおける不良箇所を他の領域と異なる表現で表示する、
請求項7に記載の解析方法。
【請求項9】
前記生成されるデータは、前記リード・コマンドが指定するデータと同じデータ長を有し、規定の固定パターンにおいてエラー訂正した位置のビットが他のビットと異なるデータである、
請求項7に記載の解析方法。
【請求項10】
前記リード・コマンドが指定したデータがエラー訂正不能である場合、指定データと同じデータ長で規定のビット・パターンを有するデータを前記ホストに転送する、
請求項7に記載の解析方法。
【請求項11】
前記メディアのアドレスとビット反転位置とを示すライト・コマンドを前記ホストから取得し、
前記アドレスから読み出したデータにおいて、前記指定された位置のビットを反転したデータを前記アドレスに書きこむ、
請求項7に記載の解析方法。
【請求項12】
前記リード・コマンドは、指定アドレスのデータとECCコードとを合わせて転送することを指示するリード・ロング・コマンドである、
請求項7に記載の解析方法。
【請求項13】
前記リード・ロング・コマンドと同一のアドレスを指定し、その指定アドレスのデータとECCコードの双方を含む範囲におけるビット反転位置を示すライト・ロング・コマンドを受信し、
前記指定アドレスから読み出したデータとECCコードとにおいて前記指定された位置のビットを反転したデータを、前記アドレスに書きこむ、
請求項12に記載の解析方法。

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


【公開番号】特開2010−146127(P2010−146127A)
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願番号】特願2008−320329(P2008−320329)
【出願日】平成20年12月16日(2008.12.16)
【出願人】(503116280)ヒタチグローバルストレージテクノロジーズネザーランドビーブイ (1,121)
【Fターム(参考)】