JP2008276818A - ディスク・ドライブ装置及びそのディスクへのアクセス方法 - Google Patents
ディスク・ドライブ装置及びそのディスクへのアクセス方法 Download PDFInfo
- Publication number
- JP2008276818A JP2008276818A JP2007115986A JP2007115986A JP2008276818A JP 2008276818 A JP2008276818 A JP 2008276818A JP 2007115986 A JP2007115986 A JP 2007115986A JP 2007115986 A JP2007115986 A JP 2007115986A JP 2008276818 A JP2008276818 A JP 2008276818A
- Authority
- JP
- Japan
- Prior art keywords
- reassignment
- data
- source address
- source
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B2020/1893—Methods for assignment of alternate areas for defective areas using linear replacement to relocate data from a defective block to a non-contiguous spare area, e.g. with a secondary defect list [SDL]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Abstract
【課題】所定のコマンドに対してリアサイン元アドレスのデータをホストに送るディスク・ドライブ装置において、データ・レートを維持すると共にデータの正確性を高める。
【解決手段】本発明の一実施形態のHDD1は、リアサインされているデータ・セクタが存在する場合、リアサイン先データ・セクタに加えて、リアサイン元データ・セクタにデータを書き込むための処理を行う。リアサイン元データ・セクタにデータを書き込むことによって、コンティニュアス・リードにおいて転送されるデータの正確性を高めることができる。リアサイン元データ・セクタへの書き込み処理におけるERPテーブルの登録実行ステップ数は、リアサイン先データ・セクタのERPテーブルの登録実行ステップ数よりも少ない。
【選択図】図4
【解決手段】本発明の一実施形態のHDD1は、リアサインされているデータ・セクタが存在する場合、リアサイン先データ・セクタに加えて、リアサイン元データ・セクタにデータを書き込むための処理を行う。リアサイン元データ・セクタにデータを書き込むことによって、コンティニュアス・リードにおいて転送されるデータの正確性を高めることができる。リアサイン元データ・セクタへの書き込み処理におけるERPテーブルの登録実行ステップ数は、リアサイン先データ・セクタのERPテーブルの登録実行ステップ数よりも少ない。
【選択図】図4
Description
本発明はディスク・ドライブ装置及びそのディスクへのアクセス方法に関し、特に、特定のリード・コマンドにリアサイン元アドレスのデータをホストに送るディスク・ドライブ装置における制御に関する。
ディスク・ドライブ装置として、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ(HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途は、その優れた特性により益々拡大している。
HDDで使用される磁気ディスクは、同心円状に形成された複数のデータ・トラックを有しており、各データ・トラックは複数のデータ・セクタが記録されている。また、磁気ディスク上には、円周方向に離間して複数のサーボ・データが記録されている。揺動するアクチュエータに支持されたヘッド・スライダのヘッド素子部が、サーボ・データのアドレス情報に従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
記録面上のデータ・セクタが欠陥セクタであり、データの書き込みもしくは読み出しを行うことができない場合、そのセクタは他のセクタにリアサインされる。つまり、リアサイン元である欠陥セクタへホストからのアクセス(リードもしくはライト)がある場合、HDDは欠陥セクタと対応づけられたリアサイン先のセクタにアクセスする。これによって、ホストのアドレス管理を要することなく、HDD内で欠陥セクタの使用を禁止することができる。
近年のPCアプリケーションやHDDの用途範囲の拡大に伴い、HDDにAVデータを格納することが多くなっている。このため、AVデータなどの連続するデータに対応したストリーム・コマンドが定義されている。AVデータの再生においては、わずかなデータの誤り(正確性)よりも、データの連続性(転送速度)が優先される。このため、データの読み出しあるいは書き込みにおいてエラーが発生した場合にも、エラー回復処理を開始することなく次のセクタへのアクセスを行うオプションが規定されている。これを、コンティニュアス・リード、あるいはコンティニュアス・ライトと呼ぶ。
AVデータのように、ホストから連続セクタへのアクセス要求がある場合、リアサイン先アドレスへのアクセスは、リアサイン元アドレスへのアクセスよりも多くの処理時間を必要とする。これは、リアサイン先のセクタは、リアサイン元セクタから離れた位置に存在するからである。そのため、AVコマンドのアクセスにおいて、リアサインされているセクタが存在しても、そのリアサイン先セクタではなく、リアサイン元セクタをそのままアクセスする技術が知られている(例えば、特許文献1を参照)。これによって、AVデータを要求されている一定の速度で転送することができる。
特開2004−70979号公報
上記従来技術のように、リアサイン元セクタのデータを読み出すことによって、AVデータの転送レートと連続性とを維持することができる。しかし、データ・セクタがリアサインされている場合、新たなデータはリアサイン先セクタに書き込まれ、リアサイン元セクタのデータは更新されることがない。このため、HDDは、AVコマンドに対して、常に誤ったデータをホストに送ることになる。データの正確性よりも転送速度が優先されるモードにおいても、より正確なデータをホストに転送できることが好ましい。また、AVコマンドに指定されている複数データ・セクタ内に多くのリアサインされたデータ・セクタが含まれる場合、ホストに転送されるデータの正確性が大きく損なわれることになる。
本発明の一態様は、ディスク・ドライブ装置におけるディスクへのアクセス方法である。この方法は、リアサイン元アドレスへのライト・コマンドに応じて、そのリアサイン元アドレスに対応するリアサイン先アドレスとそのリアサイン元アドレスとにデータを書き込むための処理をする。通常のリード・コマンドに対してリアサイン先アドレスのデータを送り、予め定められたリード・コマンドに対してリアサイン元アドレスのデータを送る。リアサイン元アドレスにデータを書き込むための処理をすることで、データの正確性を高めることができる。この態様は、所定条件が成立する場合にのみリアサイン元アドレスにデータを書き込むための処理をする方法を含む。また、データを書き込むための処理はエラーなどのためにディスクにデータを書き込まない場合を含む。
好ましい一例において、前記リアサイン元アドレスへのデータ書き込みにおいてエラーが発生した場合に、エラー回復処理を省略して前記リアサイン元アドレスへのデータ書き込みのための処理を終了する。エラー回復処理を省略することで、パフォーマンスの低下を抑えることができる。
好ましい一例において、前記リアサイン元アドレスへのデータ書き込みに対応したエラー回復処理の最大ステップ数は、前記リアサイン先アドレスへのデータ書き込みに対応したエラー回復処理の最大ステップ数よりも少ない。これによって、データの正確性とパフォーマンスの両立を図ることができる。
好ましい一例において、前記リアサイン元アドレスのリアサイン理由に応じて、前記リアサイン元アドレスにデータを書き込むための処理を変更する。さらに、前記リアサイン理由がライト・エラーである場合、前記リアサイン元アドレスへデータ書き込みにおけるエラー回復処理を省略する、あるいは、そのエラー回復処理の最大ステップ数を、前記リアサイン理由がリード・エラーである場合における最大ステップ数よりも少なくすることが好ましい。これによって、データの正確性とパフォーマンスの両立を図ることができる。
好ましい一例において、前記リアサイン元アドレスへライト・コマンドの種類に応じて、そのリアサイン元アドレスへのデータ書き込みのための処理の実行の有無を決定する。これによって、データの正確性とパフォーマンスの両立を図ることができる。
好ましい一例において、前記リアサイン元アドレスへのライト・コマンドは複数のアドレスを含み、前記複数のアドレスが含むリアサイン元アドレス数に応じて、前記リアサイン元アドレスへデータ書き込みの有無を決定する、あるいは、そのエラー回復処理の最大ステップ数を変更する。これによって、データの正確性とパフォーマンスの両立を図ることができる。
本発明の他の態様に係るディスク・ドライブ装置は、ディスクにアクセスするヘッドと、前記ヘッドを前記ディスク上で移動する移動機構と、通常のリード・コマンドに対して前記ヘッドが読み出したリアサイン先アドレスのデータを送り、予め定められたリード・コマンドに対して前記ヘッドが読み出したリアサイン元アドレスのデータを送るコントローラとを有している。コントローラは、リアサイン元アドレスへのライト・コマンドに応じて、そのリアサイン元アドレスに対応するリアサイン先アドレスとそのリアサイン元アドレスとにデータを書き込むための処理をする。リアサイン元アドレスにデータを書き込むための処理をすることで、データの正確性を高めることができる。この態様は、所定条件が成立する場合にのみリアサイン元アドレスにデータを書き込むための処理をする装置を含む。また、データを書き込むための処理はエラーなどのためにディスクにデータを書き込まない場合を含む。
本発明の他の態様に係るディスク・ドライブ装置は、ディスクにアクセスするヘッドと、前記ヘッドを移動する移動機構と、前記移動機構を制御するコントローラとを有している。前記コントローラは、通常のリード・コマンドに対して、前記ヘッドを使用してリアサイン先アドレスのデータを読み出し、さらに、予め定められたリード・コマンドに指定されたアドレスに含まれるリアサイン元アドレスの数に基づいて、前記リアサイン元アドレスのデータを読み出すか、リアサイン先アドレスのデータを読み出すかを決定する。リアサイン元アドレスの数に基づいて、前記リアサイン元アドレスのデータを読み出すか、リアサイン先アドレスのデータを読み出すかを決定することで、データの正確性と転送レートとの両立を図ることができる。
好ましい一例において、前記リアサイン元アドレスの数は、前記指定されたアドレスにおいて、連続するリアサイン元アドレスの最大数であり、前記コントローラは、前記連続するリアサイン元アドレスの最大数が基準を越える場合に、前記ヘッドを使用してリアサイン先アドレスのデータを読み出す。あるいは、前記リアサイン元アドレスの数は、前記指定されたアドレスが含むリアサイン元アドレスの総数であり、前記コントローラは、前記総数が基準を越える場合に、前記ヘッドを使用してリアサイン先アドレスのデータを読み出す。これらによって、より適正な判定をすることができる。
本発明によれは、所定のコマンドに対してリアサイン元アドレスのデータをホストに送るディスク・ドライブ装置において、必要なデータ・レートを維持すると共に、データの正確性を高めることができる。
以下に、本発明を適用した好適な実施形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、必要に応じて重複説明は省略されている。以下においては、ディスク・ドライブ装置の一例であるハードディスク・ドライブ(HDD)を例として、本発明の実施形態を説明する。本形態のHDDは、リード・コマンドが指定しているアドレスがリアサイン元データ・セクタを含む場合、通常のリード・コマンドに対してはリアサイン先のデータ・セクタをアクセスし、所定のリード・コマンドに対してはリアサイン先データ・セクタではなく、リアサイン元データ・セクタにアクセスする。
まず、HDDの全体構成を説明する。図1は、HDD1の全体構成を模式的に示すブロック図である。HDD1は、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(RWチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(HDC/MPU)23及び半導体メモリのRAM24などの各回路を有している。エンクロージャ10内において、スピンドル・モータ(SPM)14は所定の角速度で磁気ディスク11を回転する。磁気ディスク11は、データを記憶するディスクである。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。
各ヘッド・スライダ12は、磁気ディスク上を浮上するスライダと、スライダに固定され磁気信号と電気信号との間の変換(データの読み書き)を行うヘッド素子部とを備えている。各ヘッド・スライダ12はアクチュエータ16の先端部に固定されている。アクチュエータ16はボイス・コイル・モータ(VCM)15に連結され、回動軸を中心に回動することによって、ヘッド・スライダ12を回転する磁気ディスク11上においてその半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従ってVCM15を駆動する。アーム電子回路(AE:Arm Electronics)13は、HDC/MPU23からの制御データに従って複数のヘッド素子部12の中から磁気ディスク11にアクセス(リードもしくはライト)するヘッド・スライダ12を選択し、リード/ライト信号の増幅を行う。
RWチャネル21は、リード処理において、AE13から取得したリード信号からサーボ・データ及びユーザ・データを抽出し、デコード処理を行う。デコード処理されたデータは、HDC/MPU23に供給される。また、RWチャネル21は、ライト処理において、HDC/MPU23から供給されたライト・データをコード変調し、さらに、コード変調されたデータをライト信号に変換してAE13に供給する。HDC/MPU23において、HDCはロジック回路であり、MPUはRAM24にロードされたファーム・ウェアに従って動作する。HDD1の起動に伴い、RAM24には、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23はコントローラの一例であり、ヘッド・ポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。
HDC/MPU23は、RWチャネル21から取得した磁気ディスク11からのリード・データを、ホスト51に伝送する。磁気ディスク11からのリード・データは、RAM24内のリード・バッファに一時的に格納された後、HDC/MPU23を介してホスト51に転送される。また、ホスト51からのライト・データは、HDC/MPU23を介して、RAM24内のライト・バッファに一時的に格納され、その後、所定のタイミングでHDC/MPU23を介して磁気ディスク11に転送される。本形態のHDC/MPU23は、特に、磁気ディスク11へのデータ書き込み回数に応じたデータ再書き込み処理を制御する。
以下において、本形態のHDD1における磁気ディスクへのアクセス制御について具体的に説明する。なお、アクセスは、磁気ディスク11からの読み出しと書き込みの上位概念である。本形態のHDD1は、AVデータなどのためのストリーム・コマンドに対応している。ホスト51が、ストリーム・リード・コマンドに対しては連続アクセスすることを指示している場合、HDD1は、ECCエラーを無視してホスト51にデータを転送する。本形態のHDD1は、さらに、連続アクセスを指定されたストリーム・リード・コマンドに対して、リアサイン先アドレスのデータ・セクタではなく、リアサイン元アドレスのデータ・セクタを読み出す。本明細書においては、この連続読み出しの機能をリード・コンティニュアスと呼ぶ。
ホスト51は、例えば、ストリーム・リード・コマンド内のフィールドがリード・コンティニュアスをイネーブル設定する。HDD1は、そのストリーム・リード・コマンドが指定するアドレス内において、リアサイン先データ・セクタではなく、リアサイン元データ・セクタを読み出す。
具体的には、図2のフローチャートに示すように、HDC/MPU23は、リード・コマンドをホストから受信すると(S11)、そのリード・コマンドがリード・コンティニュアスを指定しているコマンドであるか決定する(S12)。受信したリード・コマンドがストリーム・コマンドであり、ホスト51からの設定コマンドあるいはそのリード・コマンドによってリード・コンティニュアス機能がイネーブル設定されている場合(S12におけるY)、HDC/MPU23はリード・コンティニュアスの処理を行う。具体的には、HDC/MPU23は磁気ディスク11からのデータ読み出しにおいて、ECCエラーを無視し、さらに、リアサインされているデータ・セクタについて、リアサイン先ではなくリアサイン元のデータ・セクタを読み出し、そのデータをホスト51に転送する(S13)。
受信したリード・コマンドがストリーム・リード・コマンドではない、あるいはリード・コンティニュアスがディスエーブル設定である場合(S12におけるN)、HDC/MPU23は通常の処理として磁気ディスク11からデータを読み出す。つまり、ECCエラーが発生した場合には、オフラインのエラー訂正あるいはエラー回復処理を行い、また、リアサインされたデータ・セクタが存在する場合は、リアサイン先データ・セクタを読み出す(S14)。このように、予め設定されているリード・コマンドに対して、リアサイン元データ・セクタを読み出すことによって、データ転送の連続性及び転送レートを維持することができる。
本形態のHDD1は、リアサインされているデータ・セクタが存在する場合、リアサイン先データ・セクタに加えて、リアサイン元データ・セクタにデータを書き込むための処理(エラーにより磁気ディスク11に書き込みしない場合を含む)を行う。リアサイン元データ・セクタにデータを書き込むことによって、コンティニュアス・リードにおいて転送されるデータの正確性を高めることができる。HDD1は、リアサイン先データ・セクタとリアサイン元データ・セクタのそれぞれの書き込みのための処理を同様に行うことができる。ここで、書き込みのための処理とは、磁気ディスク11への実際の磁気データの書き込みの他、エラーが発生した場合の訂正処理や回復処理などを含む処理である。
しかし、リアサイン元データ・セクタは、何らかの問題がある欠陥セクタであることが通常である。そのため、リアサイン元データ・セクタへデータを書き込むことができない、あるいは、エラー発生によりデータ書き込みに多くの時間を要する蓋然性が高い。これにより、HDD1のパフォーマンスが低下する恐れがある。そこで、リアサイン先データ・セクタとリアサイン元データ・セクタとの間において、データ書き込みのための処理を異なるものとすることが好ましい。好ましい例において、HDD1は、エラーが発生した場合のエラー回復処理を異なる方法で行う。
HDC/MPU23が、エラー回復処理を制御する。具体的には、図3のブロック図に示すように、HDC/MPU23は、RAM24上のERPテーブルを参照して、エラー回復処理を行う。HDD1は、リアサイン先データ・セクタへの書き込みのためのリアサイン先用ERPテーブル241と、リアサイン元データ・セクタへの書き込みのためのリアサイン元用ERPテーブル242とを有している。リアサイン先データ・セクタへの書き込み処理においてエラーが発生した場合、HDC/MPU23は、リアサイン先用ERPテーブル241を参照し、リアサイン元データ・セクタへの書き込み処理においてエラーが発生した場合はリアサイン元用ERPテーブル242を参照する。
ERPテーブル241、242は、エラー回復のためのステップを登録している。具体的には、同一条件での書き込みのリトライ・ステップ、RWチャネル21のパラメータを変更したリトライ・ステップなどである。HDC/MPU23は、エラー回復するまで、あるいは最後のERPステップまで、優先度の高いERPステップから順次実行する。好ましい態様において、リアサイン元用ERPテーブル242の最大実行ステップ数は、リアサイン先用ERPテーブル241の最大実行ステップ数よりも小さい。
最大ERPステップ数は、実際に実行されうる最初から最後のERPステップまでのステップ数である。例えば、リアサイン先用ERPテーブル241の最大実行ステップ数を128とし、リアサイン元用ERPテーブル242の実行ステップ数を64とする。このように、リアサイン元用ERPテーブル242の実行ステップ数を小さくすることによって、リアサイン元データ・セクタへ書き込みのための処理に多くの時間が使用されることを避け、パフォーマンスの低下を抑制することができる。
図4のフローチャートを参照して、異なるERPテーブルを参照する具体的な処理方法を説明する。HDC/MPU23がホスト51からライト・コマンドを受信すると(S21)、指定アドレスへのデータ書き込みを開始する。指定アドレスの中にリアサインされているデータ・セクタが存在する場合、HDC/MPU23はリアサイン先アドレスのデータ・セクタへの書き込み処理を開始する(S22)。そのデータ・セクタの書込み処理においてエラーが発生した場合(S23におけるY)、HDC/MPU23はリアサイン先用ERPテーブル241を参照して(S24)、エラー回復処理を行う(S25)。エラー回復して、あるいはエラーが発生せず(S23におけるN)、そのデータ・セクタに正常にデータを書き込むことができると、そのデータ・セクタへの書き込み処理は終了する。最後のERPステップまでにエラー回復しない場合は、HDC/MPU23は、リアサイン処理などの、通常の処理を行う。
HDC/MPU23は、リアサイン元アドレスへもデータ書き込みを試みる。リアサイン元アドレスへの書き込み処理を開始し(S26)、エラーが発生すると(S27におけるY)、HDC/MPU23は、リアサイン元用ERPテーブル242を選択する(S28)。リアサイン元用ERPテーブル242に従ってエラー回復処理を行い(S29)、エラー回復して正常にデータを書き込めると、リアサイン元アドレスへのデータ書き込み処理は終了する。エラーが最後のステップまでにエラーが回復しない場合にはHDC/MPU23は、リアサイン元アドレスへのデータ書き込みを行うことなく処理を終了する。エラーが起きない場合(S27におけるN)、HDC/MPU23は、正常にデータを書き込み、リアサイン元アドレスへのデータ書き込み処理を終了する。
リアサイン元データ・セクタのデータは更新されていなくとも許されるため、エラー回復されない場合に、データの書き込み処理を終了しても問題とはならない。また、パフォーマンスの観点からは、できるだけ早いタイミングで処理を終了することが好ましい。ERP実行ステップ数が少なく、エラー回復しない場合にそのまま処理を終了することで、データの正確性の向上とパフォーマンスの維持を図ることができる。
上記例は、リアサイン元データ・セクタへの書き込み処理においてエラー発生した場合、通常よりも最大実行ステップ数の少ないテーブルを参照してエラー回復処理を実行している。パフォーマンスを優先する場合、エラー回復処理を省略することで、処理時間を短縮することができる。具体的には、図5のフローチャートに示すように、HDC/MPU23は、リアサイン元アドレスへのデータ書き込み処理を開始し(S35)、エラーが発生すると(S36におけるY)、エラー回復処理をすることなく(S37)処理を終了する。その他の処理は、図4に示したフローチャートと同様である。エラー回復処理を省略することで、パフォーマンスの低下をより小さくすることができる。
図4及び5を参照して説明した例は、エラー回復処理実行の有無は異なるが、リアサイン先アドレスに加えて、リアサイン元アドレスへの書き込み処理(実際に書き込みしない場合を含む)を常に行う。これとは異なり、予め設定された特定条件が成立する場合に、リアサイン元アドレスへのデータ書き込み処理を行うことができる。これによって、パフォーマンスの低下をより小さくすることができる。好ましい例において、HDC/MPU23は、リアサイン理由に応じてリアサイン元データ・セクタへの書き込み処理の有無を決定する。
図6は、リアサイン・ディフェクト・マップ(RDM)243の登録データを模式的に示している。HDC/MPU23は、磁気ディスク11へのアクセスにおいて、このRDM243を参照し、コマンドが指定しているアドレスのリアサイン先アドレスを特定する。RDM243は連続アドレスを一つのエントリとして登録することができる。RDM243は、リアサイン元データ・セクタの先頭LBA(Logical Block Address)、リアサイン先データ・セクタの先頭LBA、データ・セクタ数、そしてリアサインされた理由を保持している。
リアサイン理由は、具体的には、リード・エラー、ライト・エラー、そしてホスト51からコマンドなどがある。HDC/MPU23は、リード処理においてエラー回復できない場合(リード・エラー)、ライト処理においてエラー回復できない場合(ライト・エラー)、あるいはホスト51からのコマンドに従って、対応するアドレスをRDM243に登録する。HDC/MPU23は、ライト・コマンドがリアサイン元アドレスを指定している場合、そのリアサイン理由を参照して、リアサイン元アドレスへデータ書き込み処理を行うか否かを決定する。
具体的な処理工程を、図7のフローチャートを参照して説明する。この例は、リアサイン理由がリード・エラーの時にリアサイン元アドレスへのデータ書き込み処理を行い、それ以外のときにはリアサイン元アドレスへのデータ書き込み処理を省略する。リード・エラーの場合、ライト・エラーの場合よりも、リアサイン元アドレスにデータを書き込むことができる可能性がより高いからである。リアサイン理由がコマンドである場合には、設計によっていずれを選択してもよい。
HDC/MPU23は、ライト・コマンドを受信すると(S41)、リアサイン先アドレスへの書き込み処理を行う(S42)。HDC/MPU23はRDM243を参照してリアサイン理由を特定する(S43)。リアサイン理由がリード・エラーである場合(S44におけるY)、HDC/MPU23は、リアサイン元アドレスへの書き込み処理(エラーのために実際に書き込まない場合を含む)を行う(S45)。リアサイン理由がリード・エラーでない場合(S44におけるN)、HDC/MPU23は、リアサイン元アドレスへの書き込み処理を開始することなく処理を終了する。
上記例は、リアサイン理由に応じて、リアサイン元アドレスへのデータ書き込み処理の有無を決定している。これに対して、リアサイン理由に応じてエラー回復処理を変更することができる。好ましい例において、HDC/MPU23はリード・エラーのときに登録実行ステップが多いERPテーブルを参照し、その他のエラーのときには登録実行ステップが少ないERPテーブルを参照する。
具体的には、図8のフローチャートに示すように、HDC/MPU23は、ライト・コマンドを受信すると(S51)、リアサイン先アドレスへの書き込み処理を行う(S52)。さらに、HDC/MPU23は、リアサイン元アドレスへの書き込み処理を開始する(S53)。エラーが発生すると(S54におけるY)、HDC/MPU23はRDM243を参照してリアサイン理由を特定し(S55)、その理由に従ってERPテーブルを選択する(S56)。リード・エラーの場合は登録実行ステップ数が多いテーブルを、それ以外の理由の場合は登録実行ステップ数が少なくテーブルを選択する。その後、HDC/MPU23は選択したERPテーブルに従ってエラー回復処理を実行する(S57)。
他の好ましい例において、HDC/MPU23は、ライト・コマンドの指定アドレス内のリアサインされているデータ・セクタ数に応じて、リアサイン元アドレスへのデータ書き込み処理の有無を決定する。指定アドレス内のリアサイン元アドレス数が基準を越えている場合、HDC/MPU23はリアサイン元アドレスへのデータ書き込み処理を行う。超えてない場合は行わない。特定するデータ・セクタ数は、コマンド指定アドレス内の全リアサイン元データ・セクタ数、あるいは、コマンド指定アドレス内における連続データ・セクタの最大数とすることができる。
図9のフローチャートを参照して、具体的な処理方法を説明する。HDC/MPU23は、ライト・コマンドを受信すると(S61)、リアサイン先アドレスを含む指定アドレスのデータ書き込み処理を行う(S62)。HDC/MPU23は、RDM233を参照して、指定アドレス内のリアサイン元アドレス数(データ・セクタ数)を特定する(S63)。リアサイン元アドレス数が基準数を超える場合(S64におけるY)、HDC/MPU23は、各リアサイン元アドレスへのデータ書き込み処理(エラーにより磁気ディスクへ書き込みできない場合を含む)を行う。リアサイン元アドレス数が基準数以下の場合は、リアサイン元データ・セクタへのデータ書き込み処理を行うことなく処理を終了する。
なお、基準数と比較するアドレス数は、上述のように、最大連続セクタ数もしくはトータル・セクタ数とすることができる。この他、ライト・コマンドの種類に応じてリアサイン元データ・セクタへの書き込み処理の有無を決定することができる。例えば、ライト・コマンドがストリーム・コマンドである場合には、リアサイン元データ・セクタへの書き込み処理を行うようにすることができる。
ライト・コマンド指定アドレス内のリアサイン元データ・セクタ数に基づき、HDC/MPU23は、リアサイン元アドレスへのデータ書き込み処理におけるERPテーブルを変更することができる。図8を参照して説明した処理において、リアサイン理由による判断基準をリアサイン元データ・セクタ数に変更することに対応する。
具体的には、図10に示すように、HDC/MPU23は、リアサイン元アドレスへのデータ書き込み処理においてエラーが発生すると(S74におけるY)、HDC/MPU23は、指定アドレス内のリアサイン元アドレス数を特定し(S75)、その数に応じてERPテーブルを選択する。例えば、二つのERPテーブルを用意し、リアサイン元アドレス数が基準数未満の場合には、登録実行ステップ数がより少ないERPテーブルを使用してエラー回復処理を実行する(S76)。設計によっては、3以上のテーブルを用意してもよい。
リード・コンティニュアスにおいて、常にリアサイン元データ・セクタを読み出す、あるいは、リアサイン先データ・セクタを読み出すのではなく、予め設定されている条件に応じて、リアサイン元データ・セクタとリアサイン先データ・セクタの一方を選択し、その選択したデータをホスト51に転送することが好ましい。これにより、転送データの正確性と転送レートの維持との両立を図ることができる。
好ましい例において、HDC/MPU23は、リード・コンティニュアスに対応したリード・コマンドの指定アドレス内のリアサイン元アドレス数(データ・セクタ数)に応じて、リアサイン元アドレスとリアサイン先アドレスの一方を選択する。具体的には、指定アドレス内のリアサイン元アドレス数が基準数を越える場合に、HDC/MPU23はリアサイン先データ・セクタを読み出し、超えていない場合にはリアサイン元データ・セクタを読み出す。リアサインされているデータ・セクタが多い場合には、リアサイン先をアクセスすることで、データの正確性と転送レートとを両立することができる。なお、基準数と比較するリアサイン元アドレス数は、上述と同様に、総アドレス数あるいは最大連続アドレス数とすることができる。
図11を参照して、上記コンティニュアス・リードのフローを説明する。HDC/MPU23は、リード・コマンドをホストから受信すると(S81)、そのリード・コマンドがリード・コンティニュアスを指定しているコマンドであるか決定する(S82)。受信したリード・コマンドがストリーム・コマンドであり、ホスト51からの設定コマンドあるいはそのリード・コマンドによってリード・コンティニュアス機能がイネーブル設定されている場合(S82におけるY)、HDC/MPU23は、リード・コマンドの指定アドレス内におけるリアサイン元アドレス数を、RDM234を参照して特定する(S83)。
リアサイン元アドレス数が基準数を越える場合(S84におけるY)、HDC/MPU23は、リアサイン先データ・セクタを読み出す(S85)。このとき、ECCエラーの訂正処理を行う、あるいはそれを無視することができる。リアサイン元アドレス数が基準数を越えない場合(S84におけるN)、HDC/MPU23は、リアサインされているデータ・セクタについて、リアサイン先ではなくリアサイン元のデータ・セクタを読み出し、そのデータをホスト51に転送する(S86)。このとき、HDC/MPU23は、ECCエラーを無視する。
受信したリード・コマンドがストリーム・リード・コマンドではない、あるいはリード・コンティニュアスがディスエーブル設定である場合(S82におけるN)、HDC/MPU23は通常の処理として磁気ディスク11からデータを読み出す。つまり、ECCエラーが発生した場合には、オフラインのエラー訂正あるいはエラー回復処理を行い、また、リアサインされたデータ・セクタが存在する場合は、リアサイン先データ・セクタを読み出す(S85)。
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本形態の制御を、磁気ディスク以外のディスクを利用するディスク・ドライブ装置に適用することができる。上記各例の要素を組み合わせて、あるいはそれぞれ別に利用することができる。例えば、本形態のリアサイン元アドレスとリアサイン先アドレスの選択は、ECCエラーの処理とは独立に使用することができる。
1 ハードディスク・ドライブ、10 エンクロージャ、11 磁気ディスク
12 ヘッド・スライダ、13 アーム・エレクトロニクス
14 スピンドル・モータ、15 ボイス・コイル・モータ、16 アクチュエータ
20 回路基板、21 RWチャネル、22 モータ・ドライバ・ユニット
23 HDC/MPU、24 RAM、51 ホスト
241 リアサイン先用ERPテーブル、242 リアサイン元用ERPテーブル
243 リアサイン・ディフェクト・マップ
12 ヘッド・スライダ、13 アーム・エレクトロニクス
14 スピンドル・モータ、15 ボイス・コイル・モータ、16 アクチュエータ
20 回路基板、21 RWチャネル、22 モータ・ドライバ・ユニット
23 HDC/MPU、24 RAM、51 ホスト
241 リアサイン先用ERPテーブル、242 リアサイン元用ERPテーブル
243 リアサイン・ディフェクト・マップ
Claims (17)
- ディスク・ドライブ装置におけるディスクへのアクセス方法であって、
リアサイン元アドレスへのライト・コマンドに応じて、そのリアサイン元アドレスに対応するリアサイン先アドレスとそのリアサイン元アドレスとにデータを書き込むための処理を行い、
通常のリード・コマンドに対してリアサイン先アドレスのデータを送り、予め定められたリード・コマンドに対してリアサイン元アドレスのデータを送る、方法。 - 前記リアサイン元アドレスへのデータ書き込みにおいてエラーが発生した場合に、エラー回復処理を省略して前記リアサイン元アドレスへのデータ書き込みのための処理を終了する、
請求項1に記載の方法。 - 前記リアサイン元アドレスへのデータ書き込みに対応したエラー回復処理の最大ステップ数は、前記リアサイン先アドレスへのデータ書き込みに対応したエラー回復処理の最大ステップ数よりも少ない、
請求項1に記載の方法。 - 前記リアサイン元アドレスのリアサイン理由に応じて、前記リアサイン元アドレスにデータを書き込むための処理を変更する、
請求項1に記載の方法。 - 前記リアサイン理由がライト・エラーである場合、前記リアサイン元アドレスへデータ書き込みのための処理におけるエラー回復処理を省略する、あるいは、そのエラー回復処理の最大ステップ数を、前記リアサイン理由がリード・エラーである場合における最大ステップ数よりも少なくする、
請求項4に記載の方法。 - 前記ライト・コマンドの種類に応じて、前記リアサイン元アドレスへのデータ書き込みのための処理の実行の有無を決定する、
請求項1に記載の方法。 - 前記リアサイン元アドレスへのライト・コマンドは複数のアドレスを含み、
前記複数のアドレスが含むリアサイン元アドレス数に応じて、前記リアサイン元アドレスへデータ書き込みの有無を決定する、あるいは、そのエラー回復処理の最大ステップ数を変更する、
請求項1に記載の方法。 - ディスクにアクセスするヘッドと、
前記ヘッドを前記ディスク上で移動する移動機構と、
通常のリード・コマンドに対して前記ヘッドが読み出したリアサイン先アドレスのデータを送り、予め定められたリード・コマンドに対して前記ヘッドが読み出したリアサイン元アドレスのデータを送るコントローラと、を有し、
前記コントローラは、リアサイン元アドレスへのライト・コマンドに応じて、そのリアサイン元アドレスに対応するリアサイン先アドレスとそのリアサイン元アドレスとにデータを書き込むための処理をする、
ディスク・ドライブ装置。 - 前記コントローラは、前記リアサイン元アドレスへのデータ書き込みにおいてエラーが発生した場合に、エラー回復処理を省略して前記リアサイン元アドレスへのデータ書き込みのための処理を終了する、
請求項8に記載のディスク・ドライブ装置。 - 前記コントローラは、前記リアサイン元アドレスへのデータ書き込みに対応したエラー回復処理の最大ステップ数は、前記リアサイン先アドレスへのデータ書き込みに対応したエラー回復処理の最大ステップ数よりも少ない、
請求項8に記載のディスク・ドライブ装置。 - 前記コントローラは、前記リアサイン元アドレスのリアサイン理由に応じて、前記リアサイン元アドレスにデータを書き込むための処理を変更する、
請求項8に記載のディスク・ドライブ装置。 - 前記コントローラは、前記リアサイン理由がライト・エラーである場合、前記リアサイン元アドレスへデータ書き込みにおけるエラー回復処理を省略する、あるいは、そのエラー回復処理の最大ステップ数を、前記リアサイン理由がリード・エラーである場合における最大ステップ数よりも少なくする、
請求項11に記載のディスク・ドライブ装置。 - 前記コントローラは、前記リアサイン元アドレスへライト・コマンドの種類に応じて、そのリアサイン元アドレスへのデータ書き込みのための処理の実行の有無を決定する、
請求項8に記載のディスク・ドライブ装置。 - 前記リアサイン元アドレスへのライト・コマンドは複数のアドレスを含み、
前記コントローラは、前記複数のアドレスが含むリアサイン元アドレス数に応じて、前記リアサイン元アドレスへデータ書き込みのための処理の実行の有無を決定する、あるいは、そのエラー回復処理の最大ステップ数を変更する、
請求項8に記載のディスク・ドライブ装置。 - ディスクにアクセスするヘッドと、
前記ヘッドを移動する移動機構と、
前記移動機構を制御するコントローラと、を有し、
前記コントローラは、通常のリード・コマンドに対して、前記ヘッドを使用してリアサイン先アドレスのデータを読み出し、さらに、予め定められたリード・コマンドに指定されたアドレスに含まれるリアサイン元アドレスの数に基づいて、前記リアサイン元アドレスのデータを読み出すか、リアサイン先アドレスのデータを読み出すかを決定する、
を有するディスク・ドライブ装置。 - 前記リアサイン元アドレスの数は、前記指定されたアドレスにおいて、連続するリアサイン元アドレスの最大数であり、
前記コントローラは、前記連続するリアサイン元アドレスの最大数が基準を越える場合に、前記ヘッドを使用してリアサイン先アドレスのデータを読み出す、
請求項15に記載のディスク・ドライブ装置。 - 前記リアサイン元アドレスの数は、前記指定されたアドレスが含むリアサイン元アドレスの総数であり、
前記コントローラは、前記総数が基準を越える場合に、前記ヘッドを使用してリアサイン先アドレスのデータを読み出す、
請求項15に記載のディスク・ドライブ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007115986A JP2008276818A (ja) | 2007-04-25 | 2007-04-25 | ディスク・ドライブ装置及びそのディスクへのアクセス方法 |
US12/148,165 US20080270672A1 (en) | 2007-04-25 | 2008-04-16 | Disk drive device and method for accessing disk thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007115986A JP2008276818A (ja) | 2007-04-25 | 2007-04-25 | ディスク・ドライブ装置及びそのディスクへのアクセス方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008276818A true JP2008276818A (ja) | 2008-11-13 |
Family
ID=39888376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007115986A Pending JP2008276818A (ja) | 2007-04-25 | 2007-04-25 | ディスク・ドライブ装置及びそのディスクへのアクセス方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080270672A1 (ja) |
JP (1) | JP2008276818A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011008879A (ja) * | 2009-06-26 | 2011-01-13 | Toshiba Storage Device Corp | ディスクドライブ装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2506164A (en) | 2012-09-24 | 2014-03-26 | Ibm | Increased database performance via migration of data to faster storage |
JP2022029558A (ja) * | 2020-08-05 | 2022-02-18 | 株式会社東芝 | 磁気ディスク装置及びエラー訂正方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412042B1 (en) * | 1999-11-17 | 2002-06-25 | Maxtor Corporation | System and method for improved disk drive performance and reliability |
JP4346875B2 (ja) * | 2002-08-14 | 2009-10-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データのリアサイン方法、データ記録装置、プログラム |
-
2007
- 2007-04-25 JP JP2007115986A patent/JP2008276818A/ja active Pending
-
2008
- 2008-04-16 US US12/148,165 patent/US20080270672A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011008879A (ja) * | 2009-06-26 | 2011-01-13 | Toshiba Storage Device Corp | ディスクドライブ装置 |
Also Published As
Publication number | Publication date |
---|---|
US20080270672A1 (en) | 2008-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5325683B2 (ja) | キャッシュフラッシュ制御方法及び装置並びにこれを利用したデータ保存システム | |
JP2009020986A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 | |
JP4679943B2 (ja) | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 | |
JP5339817B2 (ja) | 異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブ装置及びそのデータ・ライト方法 | |
JP2007200537A (ja) | ハイブリッドディスクドライブおよびハイブリッドディスクドライブのデータ制御方法 | |
JP2006139902A (ja) | データ記録媒体の記録密度可変方法,それを利用したディスクドライブ,記録密度の設定方法,およびデータ記録方法 | |
JP2007193876A (ja) | 記録ディスク・ドライブ及びその欠陥領域管理方法 | |
JP2009134782A (ja) | ディスク・ドライブ装置及びそのサーボ制御方法 | |
JP2007193919A (ja) | メディア・ドライブ及びメディアの欠陥位置を登録するディフェクト・マップを生成する方法 | |
JP2005056179A (ja) | シリアルataインタフェース持つ電子機器及び信号振幅調整方法 | |
US20120162809A1 (en) | Magnetic disk drive and method of accessing a disk in the drive | |
JP2010027105A (ja) | ディスク・ドライブ装置及びそのエラー回復処理の方法 | |
JP2006216095A (ja) | データ記憶装置及びデータ記憶制御回路並びに磁気ディスク装置の制御方法 | |
JP2008276818A (ja) | ディスク・ドライブ装置及びそのディスクへのアクセス方法 | |
JP2006269027A (ja) | データ記憶装置 | |
JP2007287208A (ja) | データ記憶装置及びそのエラー訂正方法 | |
JP2006099666A (ja) | 記録メディア・ドライブ及び記録メディア・ドライブにおけるパワー・セーブ・モードの制御方法 | |
JP2005276026A (ja) | データ記憶装置におけるエラー回復処理方法、データ記憶装置及び磁気ディスク記憶装置 | |
JP2006185162A (ja) | データ記憶装置及びその制御方法 | |
JP4919983B2 (ja) | データ記憶装置及びデータ記憶装置におけるデータ管理方法 | |
JP2007058988A (ja) | データ記憶装置及びそのユーザ・データの書き込み制御方法 | |
US7649705B2 (en) | Data read retry with read timing adjustment for eccentrity of disc in data storage device | |
US7389378B2 (en) | Write processing method for stream type commands and medium storage apparatus | |
JP2007317263A (ja) | シリアル・データ転送方法、そのシステム及びデータ記憶装置 | |
JP2009223955A (ja) | 電源電圧供給回路及びディスク装置 |