作業報告書
そもそも、「大きな傷があったので返送します」「ヘッドアクチュエータの異常」などの「一言」では本来表せないはずです。
形式が決まっている訳ではございませんが、技術的な意味が通れば問題ないとされております。
以下報告内容「1番〜7番」に関しまして、詳しく解説いたします。
1番に関しまして [作業報告書 その1]:IDENTIFY_DEVICE の取得および、その値に関する調査
IDENTIFY_DEVICEはATAドライブに備わるコマンドとなります。
主にドライブの固有値を取得する際に利用いたしまして、そのドライブ自身を知る事ができます。
このコマンドを発行いたしますと、これに準じる形式でバイナリデータを受け取ることが出来ます。
このバイナリデータの形式は以下の通りです。※ 一つの要素で複数のデータを保持している場合、論理和となっております。
typedef struct IDENTIFY_DEVICE_
{
USHORT wGeneralConfiguration;
USHORT wObsolute1;
USHORT wSpecificConfiguration;
USHORT wObsolute2;
USHORT wRetired1[2];
USHORT wObsolute3;
ULONG ulReservedForCompactFlash;
USHORT wRetired2;
CHAR pszSerialNumber[20];
USHORT wBufferKind;
USHORT wBufferSize;
USHORT wObsolute4;
CHAR pszFirmwareRev[8];
CHAR pszModelNumber[40];
USHORT wMaxNumPerInterupt;
USHORT wReserved1;
USHORT wCapabilities1;
USHORT wCapabilities2;
ULONG ulObsolute5;
USHORT wField88and7063;
USHORT wObsolute6[5];
USHORT wMultSectorStuff;
ULONG ulTotalAddressableSectors;
USHORT wObsolute7;
USHORT wMultiWordDMA;
USHORT wPIOMode;
USHORT wMinMultiwordDMACycleTime;
USHORT wRecommendedMultiwordDMACycleTime;
USHORT wMinPIOCycleTimewoFlowCtrl;
USHORT wMinPIOCycleTimeWithFlowCtrl;
USHORT wReserved2[6];
USHORT wQueueDepth;
USHORT wSataCapacity;
USHORT wReserved3[3];
USHORT wMajorVersion;
USHORT wMinorVersion;
USHORT wCommandSetSupported1;
USHORT wCommandSetSupported2;
USHORT wCommandSetSupported3;
USHORT wCommandSetEnable1;
USHORT wCommandSetEnable2;
USHORT wCommandSetDefault;
USHORT wUltraDMAMode;
USHORT wTimeReqForSecurityErase;
USHORT wTimeReqForEnhancedSecure;
USHORT wCurrentPowerManagement;
USHORT wMasterPasswordRevision;
USHORT wHardwareResetResult;
UCHAR cAamCurrent;
UCHAR cAamRecommended;
USHORT wStreamMinRequestSize;
USHORT wStreamingTimeDMA;
USHORT wStreamingAccessLatency;
ULONG ulStreamingPerformance;
ULONG ulMaxUserLBALow;
ULONG ulMaxUserLBAHigh;
USHORT wStremingTimePIO;
USHORT wReserved4;
USHORT wSectorSize;
USHORT wInterSeekDelay;
USHORT wIEEEOUI;
USHORT wUniqueID3;
USHORT wUniqueID2;
USHORT wUniqueID1;
USHORT wReserved5[4];
USHORT wReserved6;
ULONG ulWordsPerLogicalSector;
USHORT wReserved7[8];
USHORT wRemovableMediaStatus;
USHORT wSecurityStatus;
USHORT pwVendorSpecific[31];
USHORT wCFAPowerMode1;
USHORT wReserved8[15];
CHAR pszCurrentMediaSerialNo[60];
USHORT wReserved9[8];
USHORT wNvCacheUse;
ULONG ulNvCache;
USHORT wStorageRot;
USHORT wReserved10[4];
USHORT wTranseport;
USHORT wReserved11[32];
USHORT wIntegrityWord;
} IDENTIFY_DEVICE;
色々な情報を持つ要素が並んでおり、これらがドライブの固有情報を保管いたしております。
ハードディスク破損や復旧を扱うサイトにて、「BIOSへの認識」というキーワードをよく耳にすると思います。
BIOSとは電源を入れた直後に出る画面です。各基本的な初期化を行い、OSへ制御を渡すのが主な役目です。
パソコンの電源を入れますと、はじめにドライブが列挙形式で表示される訳ですが、
ドライブ型番等の情報は一体どこから得ているのだろうか、気になるところです。
実は、型番はpszModelNumberが指す文字列、ファームウェアはpszFirmwareRevが指す文字列となります。
ところで、「BIOSに認識しない=物理障害重度」と結びつくのは、何故でしょうか。
本情報の総サイズは512バイトとなります。この僅かなデータ量すら読み出せないのですから、物理的に壊れている訳です。
※ BIOSに認識するという作業は、ドライブの情報を読み出すという作業です。
また、認識させてしまえばAUTO設定にて何もせず利用できるのも、
例えばulMaxUserLBA(Low,HighやLongLong)などでセクタ数を取得できたりするからです。
ドライブ型番等の情報は一種のデータに過ぎません。
※ ただ、読み出す際のATAコマンドが異なるだけです。
よって、壊れていたり、相性問題が発生いたしますと、正常な値を取得できなくなります。
これが認識不能(型番の文字列が空)、容量化け(内部が壊れている)などに繋がります。
そして、一部が欠損したりファームウェアが壊れますと、
正常な値を読み出せなくなりますので、こちらも物理的に壊れていると判断される訳です。
データ復旧サービスの初期診断では、パソコンに繋げてBIOSへ認識するかどうか、そのような調査はいたしません。
※ パソコンに繋げて電源を入れ、単に認識可否を調べる方法は、あくまでもユーザレベルです。
正しいデータ復旧技術を持つ業者では、そのような安易な方法はまず採用いたしません。
なぜならば、最小限のコマンドでは済まないためです。相手は壊れかけかもしれません。慎重になります。
2番に関しまして [作業報告書 その2]:S.M.A.R.T. の取得および、その値に関する調査
S.M.A.R.T.はATAドライブに備わるコマンドとなります。
主にドライブの状態を取得する際に利用いたしまして、一応、ドライブの故障予測に利用されております。
このコマンドを発行いたしますと、これに準じる形式でバイナリデータを受け取ることが出来ます。
バイナリデータの方は、属性IDとその値について、一定の区切りを設けて格納されております。
ただ、S.M.A.R.T.値をデータ復旧へ利用する事は一切ございません。
なぜならば、利用できるほど正確ではないためです。[ >>参考:S.M.A.R.T.の脆弱性(故障予測技術) ]
※ 実際に故障いたしました媒体を修復(クリーンルーム)し、拝見するのですが、エラーとなるような数値がございません。
データ復旧においての目的は、その中身ではなく・・以下、3番へ続きます。
プラッタの状態で取得時間が大きく変わるため、これを利用いたしております。
※ S.M.A.R.T.はプラッタ(ディスク側)から読み出しております。
※ 小さい要素でも、安全な復旧へ繋がるのであれば、とにかく何でも利用いたします。
4番に関しまして [作業報告書 その4]:エラー訂正に関しまして
データは正しい形で残っているが、そのままでは読み込めず、時間を要する区間の割合です。
[ >>参考:Data_Platter&Investigation 技術 ]
※ この区間はヘッドを完全破損させてしまうリスクが存在するため、
スキャン優先順位は最下です。このあたりの順序を決めるのがスキャン区間決定アルゴリズムです。
[ >>参考:DIRECTSCAN Ver2.0 技術 ]
5番、6番、7番に関しまして [作業報告書 その5]:データスキャン、再構築
状況の予測さえ完了できれば、あとは安全にデータスキャンを行い、再構築(+整合性検査)してファイルを出します。
備考欄には、予定されていた作業に変更が生じた場合、その内容を記載いたします。












