JP2009266333A - データ記憶装置及び隣接トラック書き直し処理方法。 - Google Patents

データ記憶装置及び隣接トラック書き直し処理方法。 Download PDF

Info

Publication number
JP2009266333A
JP2009266333A JP2008116955A JP2008116955A JP2009266333A JP 2009266333 A JP2009266333 A JP 2009266333A JP 2008116955 A JP2008116955 A JP 2008116955A JP 2008116955 A JP2008116955 A JP 2008116955A JP 2009266333 A JP2009266333 A JP 2009266333A
Authority
JP
Japan
Prior art keywords
track
rewrite
data
write
rewrite request
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.)
Granted
Application number
JP2008116955A
Other languages
English (en)
Other versions
JP5058060B2 (ja
JP2009266333A5 (ja
Inventor
Kenji Ogawa
兼司 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008116955A priority Critical patent/JP5058060B2/ja
Priority to US12/401,398 priority patent/US7859784B2/en
Publication of JP2009266333A publication Critical patent/JP2009266333A/ja
Publication of JP2009266333A5 publication Critical patent/JP2009266333A5/ja
Application granted granted Critical
Publication of JP5058060B2 publication Critical patent/JP5058060B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • G11B19/041Detection or prevention of read or write errors
    • G11B19/045Detection or prevention of read or write errors by detecting mistracking
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1879Direct read-after-write methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/22Signal processing not specific to the method of recording or reproducing; Circuits therefor for reducing distortions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/012Recording on, or reproducing or erasing from, magnetic disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59627Aligning for runout, eccentricity or offset compensation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Abstract

【課題】ヘッドでライトデータを書き込むデータ記憶装置において、オフトラック発生時に、隣接トラックのデータの書き直しを、オフトラックリトライと別のタイミングで実行する。
【解決手段】制御回路(11)が、ライトコマンドの実行により、隣接トラックのデータに影響を与えるオフトラックエラーを検出した際、当該ライトコマンドに付随して、即時書き直し処理を実施せず、書き直しが必要なトラックの情報やオフトラック時のずれ量等の書き直し要求を、テーブル(13−1)に保持しておき、ライトリトライと別のタイミングで、テーブル(13−1)に保持した書き直し要求を実行する。オフトラック要因となった振動が収まるのを待ってから書き直し処理を実施でき、書き直し処理時のオフトラックエラーの発生、ないし寄せ書きの発生を抑止でき、また書き直し処理をバックグラウンドで行うことで当該ライトコマンドの実行時間の延伸を軽減し、書き直し処理によるドライブの性能低下を軽減させることができる。
【選択図】図7

Description

本発明は、上位からのライトデータを、ヘッドにより、媒体に記録するデータ記憶装置及び隣接トラック書き直し処理方法に関し、特に、媒体へのライトデータ記録時に、オフトラックが発生した場合に、隣接トラックのライトデータをリライトするデータ記憶装置及び隣接トラック書き直し処理方法に関する。
近年のデータ電子化処理の要求により、データを記憶する磁気ディスク装置や光ディスク装置の媒体記憶装置に、大容量化が要求されている。このため、ディスク媒体は、益々トラック密度や記録密度が高くなっている。
このようなデータ記憶装置は、ディスクへのデータライト時に、何らかの理由で、ヘッドが、オフトラックしたライトエラーが発生することがある。即ち、記録媒体への書き込み時、書き込みヘッドの位置が目標トラックのセンターからどれだけずれているかを検出し、このずれ量が設定した閾値を超えた際に、その書き込みをオフトラックエラーと判断し、リトライを行っている。
この時、ヘッド位置のずれ量が、大きすぎると、隣接するトラックに寄せ書きした可能性がある。このため、オフトラックエラーの判断基準に加えて、隣接トラックへ寄せ書きした可能性があるかの判断基準を設けて、隣接トラックへ寄せ書きした可能性がある場合には、当該ライトコマンドのリトライ(ライトコマンドのトラックのデータライト)と同時に、寄せ書きされたトラックのリード及び書き直しを実施していた(特許文献1,2、3参照)。即ち、従来は、隣接トラックへの書き直しを、当該ライトコマンドのリトライに続いて行っていた。
特許第3,942,483号公報 特許第3,037,250号公報 特開2001−014606号公報
近年のディスク記憶装置の記録密度の向上に伴い、トラックピッチも狭くなっている。このため、ヘッドが、オフトラックする程度が増加しつつある。特に、トラックピッチが狭くなると、振動による影響により、オフトラックする可能性が大きくなる。
このため、従来のように、隣接トラックへの書き直しを、当該ライトコマンドのリトライに続いて行う場合、当該ライトコマンドで発生したオフトラックエラーの要因となる振動の影響を受ける可能性がある。このため、書き直し処理実施時にも、オフトラックエラーに至る要素が存在することになり、最悪の場合さらなる寄せ書きが発生することになりうる。
また、即時の書き直し処理の実施は、当該ライトコマンドの実行時間の延伸に繋がり、ドライブの性能低下の要因となりうる。
従って、本発明の目的は、オフトラックにより、隣接トラックへライトを行った可能性があった場合、隣接トラックのデータを任意のタイミングで再書き込みするためのデータ記憶装置及び隣接トラック書き直し処理方法を提供することにある。
又、本発明の他の目的は、オフトラックにより、隣接トラックへライトを行った可能性があった場合に、ライトリトライとは、別のタイミングで、隣接トラックのデータを再書き込みするためのデータ記憶装置及び隣接トラック書き直し処理方法を提供することにある。
この目的の達成のため、本発明のデータ記憶装置は、回転する記憶媒体に、データのリード及びライトを行うヘッドと、前記記憶媒体の所望トラックに前記ヘッドを位置付けるアクチュエータと、上位からのライトコマンド及びライトデータを受領し、前記ライトデータを、前記ヘッドにより、前記記憶媒体の指定されたトラックにライトするとともに、前記ヘッドによる前記トラックへのライト時に、前記ヘッドが、前記トラックから外れたオフトラックを検出し、前記ライトデータの前記トラックへのライトリトライを実行する制御回路と、書き直し要求を格納する書き直し要求テーブルとを有し、前記制御回路は、前記オフトラック検出時に、前記ヘッドのオフトラックによる隣接トラックのデータへの影響の可能性があるか否かを判定し、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックの書き直し要求を、前記書き直し要求テーブルに格納し、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記書き直し要求を実行する。
又、本発明の隣接トラック書き直し処理方法は、回転する記憶媒体の所望のトラックに、データのリード及びライトを行うヘッドを位置付け、前記データのリード及びライトを行うデータ記憶装置の隣接トラック書き直し処理方法において、前記ヘッドによる前記トラックへのライト時に、前記ヘッドが、前記トラックから外れたオフトラックを検出するステップと、前記オフトラック検出時に、前記ヘッドのオフトラックによる隣接トラックのデータへの影響の可能性があるか否かを判定するステップと、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックの書き直し要求を、書き直し要求テーブルに格納するステップと、前記ライトデータの前記トラックへのライトリトライを実行するステップと、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップとを有する。
更に、本発明は、好ましくは、前記制御回路は、他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記書き直し要求を実行する。
更に、本発明は、好ましくは、前記制御回路は、前記オフトラック要因である振動が収まったかを判定し、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記書き直し要求を実行する。
更に、本発明は、好ましくは、前記制御回路は、前記他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記ライトコマンドで指定されたトラックに隣接するトラックに対する前記書き直し要求を実行する。
更に、本発明は、好ましくは、前記制御回路は、前記他のライトコマンドを受領した時に、前記書き直し要求テーブルに、前記ライトコマンドで指定されたトラックに隣接するトラックに対する前記書き直し要求が存在するかを判定し、前記隣接トラックの書き直し要求が存在する場合に、前記隣接トラックの書き直し要求を実行し、前記隣接トラックの書き直し要求が存在しない場合には、前記オフトラック要因である振動が収まったかを判定し、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記隣接トラック以外の書き直し要求を実行する。
更に、本発明は、好ましくは、前記制御回路は、他のライトコマンドを受領した時に、前記書き直し要求テーブルの前記書き直し要求の書き直し領域が、前記他のライトコマンドのライト範囲内であるかを判定し、前記書き直し要求の書き直し領域が、前記他のライトコマンドのライト範囲内であるとの判定に応じて、前記書き直し要求テーブルに格納された前記書き直し要求をリセットする。
更に、本発明は、好ましくは、前記書き直し要求テーブルは、少なくとも、対象トラック番号と、前記オフトラック時のヘッドのずれ量とを有する複数の書き直し要求を格納し、前記制御回路は、前記隣接トラックのデータへの影響の可能性があると判定した場合に、前記隣接トラックの書き直し要求の前記ヘッドのずれ量と、前記書き直し要求テーブルに格納された前記書き直し要求のずれ量とを比較し、前記ずれ量が最小である前記書き直し要求を、前記書き直し要求テーブルから削除する。
更に、本発明は、好ましくは、前記制御回路は、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックが、前記オフトラックを発生した前記ライトコマンドの対象範囲内であるかを判定し、前記隣接トラックが、前記ライトコマンドの対象範囲内であることの判定に応じて、前記隣接トラックの書き直し要求を、前記書き直し要求テーブルへの格納を禁止する。
更に、本発明は、好ましくは、前記制御回路は、前記ライトコマンドを受領していないことを判定し、前記ライトコマンドを受領していない場合に、前記書き直し要求テーブルに格納された前記書き直し要求を実行する。
更に、本発明は、好ましくは、前記ライトデータを一時格納するキャッシュメモリを更に有し、前記制御回路は、前記書き直し要求テーブルの前記書き直し要求の対象データが前記キャッシュメモリに存在するかを判定し、前記書き直し要求の対象データが、前記キャッシュメモリに存在する場合に、前記キャッシュメモリの対象データを前記隣接トラックにライトして、前記書き直し要求を実行する。
更に、本発明は、好ましくは、前記制御回路は、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックのデータが、キャッシュメモリに存在するかを判定し、存在する場合に、前記キャッシュメモリに存在する識別子を付して、前記書き直し要求を、前記書き直し要求テーブルに格納し、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記キャッシュメモリに存在する識別子を有する書き直し要求を優先的に実行する。
ライトコマンドにて隣接トラックのデータに影響を与えるオフトラックエラーが発生した際、当該ライトコマンドに付随して、即時書き直し処理を実施せず、書き直しが必要なトラックの情報やオフトラック時のずれ量等を保持しておき、他のタイミングで保持した書き直し要求を実行するため、オフトラック要因となった振動が収まるのを待ってから書き直し処理を実施し、書き直し処理時のオフトラックエラーの発生、ないし寄せ書きの発生を抑止でき、また書き直し処理をバックグラウンドで行うことで当該ライトコマンドの実行時間の延伸を軽減し、書き直し処理によるドライブの性能低下を軽減させることができる。
以下、本発明の実施の形態を、データ記憶装置、書き直し処理の第1の実施の形態、書き直し処理の第2の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
(データ記憶装置)
図1は、本発明の一実施の形態のデータ記憶装置の構成図であり、図2は、オフトラック検出の説明図である。図1は、データ記憶装置として、磁気ディスクにデータをリード/ライトする磁気ディスク装置(HDD)を例に示す。
図1に示すように、磁気ディスク装置10は、パーソナルコンピュータに内蔵され、パーソナルコンピュータのホスト(図示せず)とSCSI(Small Component Serial Interface),ATA(AT Attachment)規格等のインターフェースのケーブル9で接続される。
磁気ディスク装置10は、磁気ディスク19と、磁気ディスク19を回転するスピンドルモータ20と、磁気ディスク19にデータをリード/ライトする磁気ヘッド25と、磁気ヘッド25を磁気ディスク19の半径方向(トラック横断方向)に移動するアクチュエータ(VCM)22とを備える。
又、制御部として、HDC(Hard Disk Controller)26と、データバッファ14と、MPU11と、メモリ(RAM、ROM)13と、リードチャネル回路(RDC)24と、ヘッドIC18と、スピンドルモータドライバ21と、VCMドライバ23と、ショックセンサー(振動センサ)28と、これらを接続するバス17とを備える。
HDC26は、ホストからタスクをセットするタスクファイル12Aを有するインターフェース制御回路12と、データバッファ14を制御するデータバッファ制御回路15と、記録データのフォーマット変換し、リードデータの逆フォーマット変換を行うフォーマット変換回路16とを有する。リードチャネル回路24は、リードデータの復調を行うとともに、リードゲート、ライトゲート、リードクロック、ライトクロックの生成を行う。
データバッファ14は、キャッシュメモリの役目を果たし、ホストからのライトデータをキャッシュ領域14−1に保存し、且つ磁気ディスク19からのリードデータを保存する。そして、ライトバック時には、データバッファ14のライトデータを、磁気ディスクにライトし、リード時には、データバッファ14のリードデータを、ホストへ転送する。
ヘッドIC18は、ライト時は、ライトデータに従い、磁気ヘッド25に記録電流を流し、リード時は、磁気ヘッド25からの読取信号を増幅して、リードチャネル回路16に出力する。スピンドルドライバ21は、スピンドルモータ20を回転駆動する。VCMドライバ23は、磁気ヘッド25を移動するVCM22を駆動する。
MPU(Micro Processor)11は、磁気ヘッド25の位置検出及び位置制御、リード/ライト制御、リトライ制御を行う。メモリ(ROM/RAM)13は、MPU11の処理に必要なデータを格納する。ショックセンサー28は、振動を検出し、検出信号を、バス17を介し、MPU11に出力する。
MPU11は、ヘッドIC18からの磁気ディスク19のサーボ信号から位置を検出し、VCM22をシーク、オントラック制御するとともに、検出位置からオフトラック検出する。ライト時に、オフトラック検出すると、ライトエラーと判定し、そのセクターのライトゲート発生を停止する。メモリ13は、図4以下で説明する書き直し処理要求テーブル13−1を格納する。
図2は、本発明の実施の形態のオフトラック検出の説明図である。図2は、磁気ディスク19の対象トラックT0に、磁気ヘッド25のライト素子25−1に位置付け、データをライトしている様子を示す。ライト素子25−1が、対象トラックT0のセンターに位置している時は、正常なデータライトを行うことができる。
一方、ライト素子25−1が、対象トラックT0のセンターに位置制御しているにも係らず、磁気ヘッド25が受ける風圧や振動により、ライト素子25−1が、トラックセンターから外れることがある。これを検出するため、MPU11は、オフトラックスライス値を設け、磁気ヘッド25からのサーボ信号の復調結果であるヘッド位置が、オフトラックスライス値を越えると、ライトオフトラックを検出する。このオフトラックスライス値は、ライト素子25−1が、対象トラックT0に、正常にデータを書き込めないと判断できる値に設定される。MPU11は、オフトラックを検出すると、当該トラックT0のライトデータのライトリトライを実行する。
更に、MPU11は、オフトラックスライス値より大きい値の重大なオフトラックスライス値を設ける。この重大なオフトラックスライス値αは、ライト素子によるデータ書込みが、隣接トラックT1のデータに影響する可能性があると判断するためのものである。このため、MPU11は、磁気ヘッド25からのサーボ信号の復調結果であるヘッド位置が、重大なオフトラックスライス値αを越えると、隣接トラックT1のデータに影響する可能性があると判断する。この場合には、隣接トラックT1のデータの書き直しも実行する。
(書き直し処理の第1の実施の形態)
図3は、本発明のライトリトライ処理の第1の実施の形態の処理フロー図、図4は、図1及び図3の書き直し処理要求テーブル13−1の説明図、図5及び図6は、図3の処理による図4のテーブルへの登録動作の説明図である。
図4により、書き直し処理要求テーブル13−1を説明する。図4に示すように、書き直し処理要求テーブル13−1は、書き直し処理要求を格納するものであり、エントリ番号と、有効フラグと、トラック番号と、ずれ量とで構成される。有効フラグは、書き直し処理未了のものを、有効、書き直し処理完了済みを、無効とセットされる。トラック番号は、書き直すべきトラック(即ち、前述のヘッド位置が、重大なオフトラックスライス値αを越え、隣接トラックT1のデータに影響する可能性があると判断された場合のその隣接トラック番号)である。ずれ量は、隣接トラックに影響すると判断した時のトラックセンターからヘッド位置までの距離(ずれ)である。
本願は、このような書き直し要求発生時に、この処理テーブル13−1に、書き直し要求を登録しておき、ライトリトライとは、別の任意のタイミングで、処理テーブル13−1の書き直し要求を実行するものである。
以下、図5及び図6により、図3のライトリトライ処理を説明する。
(S10)MPU11は、図2のように、ヘッド位置が、オフトラックスライス値を越えると、ライトオフトラックを検出し、その時のヘッド25のトラックセンター位置からのずれ量Δnewを取得し、ずれ量Δnewが、図2の重大なオフトラックスライス値α以上であるかを判定する。MPU11は、ずれ量Δnewが、図2の重大なオフトラックスライス値α以上でない場合には、隣接トラックへの影響の可能性なしと判断し、ステップS22の通常のライトリトライを実行する。
(S12)MPU11は、逆に、ずれ量Δnewが、図2の重大なオフトラックスライス値α以上である場合には、隣接トラックへの影響の可能性ありと判断し、処理テーブル13−1への登録処理に移る。先ず、MPU11は、処理テーブル13−1の既存エントリが、全て有効であるかを、有効フラグから判定する。
(S14)MPU11は、処理テーブル13−1の既存エントリが、全てが、有効でない(一部又は全部、無効)と判定すると、図5に示すように、無効なエントリの1つを、登録用エントリに選択する。そして、ステップS20に進む。
(S16)MPU11は、処理テーブル13−1の既存エントリが、全てが、有効であると判定すると、処理テーブル13−1は、図6の状態である。このままでは、新規エントリを登録できない。このため、MPU11は、処理テーブル13−1の全エントリのずれ量Δ1〜ΔMと、今回のずれ量Δnewの大小関係を比較する。そして、この比較で、今回のずれ量Δnewが、最小であるかを判断する。MPU11は、処理テーブル13−1の全エントリのずれ量Δ1〜ΔMと、今回のずれ量Δnewの大小関係の比較により、今回のずれ量Δnewが、最小であると判断すると、処理テーブル13−1への登録を行うことなく、ステップS22の通常のライトリトライを実行する。この場合、今回、隣接トラックへの影響の可能性ありと判断された書き直し要求は、実行されない。
(S18)一方、MPU11は、処理テーブル13−1の全エントリのずれ量Δ1〜ΔMと、今回のずれ量Δnewの大小関係の比較により、今回のずれ量Δnewが、最小でないと判断すると、処理テーブル13−1のずれ量が最小であったエントリを、登録エントリに選択する。
(S20)MPU11は、図5及び図6に示すように、ステップS14又はS18で選択された登録用エントリに、書き直し対象トラック番号Nnewを、ずれ量に、Δnewを上書きする。そして、処理テーブル13−1の登録用エントリの有効フラグを有効にセットする。
(S22)MPU11は、オフトラック検出したトラックのライトリトライを実行する。即ち、キャッシュメモリ14−1から再度、ライトデータを読み出し、そのトラックにライトする。
このように、オフトラック検出した際にライトリトライ時には、隣接トラックへの影響の可能性があっても、このライトリトライと同時に、隣接トラックのリライトを実行せずに、処理テーブル13−1に、書き直し要求を格納しておく。そして、後述するように、任意のタイミングで、処理テーブル13−1を参照して、隣接トラックの書き戻し処理を実行する。
又、処理テーブル13−1から最小のずれ量のエントリを排除する理由は、ずれ量が小さい場合には、隣接トラックへの影響の可能性があっても、当該隣接トラックのオフセットリード等でデータをリードできる場合があり、それより重大な影響のあるエントリを格納するためである。
次に、この処理テーブル13−1を使用したライトコマンド処理を、図7で説明する。
(S30)MPU11は、ライトコマンドを受領すると、そのコマンドを処理する前に、書き戻し処理する。即ち、MPU11は、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、処理テーブル13−1に存在するかを判定する。即ち、ライトコマンドで指定された書き込みトラック番号と、処理テーブル13−1の各エントリのトラック番号とを比較して、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、存在するかを判定する。
(S32)MPU11は、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、処理テーブル13−1に存在すると判定した場合には、当該エントリを実行エントリに選択し、ステップS38に進む。
(S34)一方、MPU11は、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、処理テーブル13−1に存在しないと判定すると、処理テーブル13−1に有効な書き直し要求エントリが存在するかを判定する。存在しない場合には、ステップS40に進む。一方、存在する場合には、MPU11は、当該エントリを実行エントリに選択する。
(S36)MPU11は、ショックセンサー28の出力から、直前の重度のライトオフトラック発生時の振動が収まっているかを判定する。MPU11は、直前の重度のライトオフトラック発生時の振動が収まっていないと判定すると、ステップS40に進む。
(S38)一方、MPU11は、直前の重度のライトオフトラック発生時の振動が収まっていると判定すると、選択した実行エントリの書き戻し処理を実施する。例えば、隣接トラックのデータをリードし、リードしたデータをその隣接トラックに書き戻す。
(S40)そして、MPU11は、ライトコマンドで指定するライト範囲内に、対象範囲が全て含まれる有効な書き直し要求エントリが、処理テーブル13−1に存在するかを判定する。即ち、ライトコマンドで指定された書き込みトラック番号と、処理テーブル13−1の各エントリのトラック番号とを比較して、ライトコマンドで指定するライト範囲内に、対象範囲が全て含まれる有効な書き直し要求エントリが、存在するかを判定する。存在する場合は、当該ライトコマンドのデータで上書きされるため、そのエントリの有効フラグを無効に変更する。即ち、書き直しは、必要ないため、無効とする。
(S42)MPU11は、ライトコマンドを実行する、即ち、ライトコマンドで指定するトラックにライトデータを書き込む。
このように、リトライしたライトコマンドと別のライトコマンドに同期して、ライトコマンドで指定するトラック領域の隣接トラックを、書き直しし、ライトコマンドを実行する。隣接トラックのため、ライトコマンドの実行時間への影響は、小さい。
又、有効エントリも、振動が収まった後、書き直しするため、振動が継続した状態での、書き直しを防止できる。更に、ライトコマンドに範囲に含まれる書き直し領域は、特別の書き直しをせず、ライトコマンドの実行により、隣接トラックも上書きされるため、ライトコマンドの実行時間への影響を防止できる。
(書き直し処理の第2の実施の形態)
図8は、本発明のライトリトライ処理の第2の実施の形態の処理フロー図、図9は、図1及び図8の書き直し処理要求テーブル13−1Aの説明図、図10及び図11は、図8の処理による図9のテーブルへの登録動作の説明図である。この第2の実施の形態は、第1の実施の形態に、更に、ライトコマンドが到来しない場合に、バックグランドで、書き直し処理を実行することと、キャッシュメモリに残っている書き戻しデータは、優先処理し、キャッシュメモリの有効利用を図る機能を追加したものである。
図9により、書き直し処理要求テーブル13−1Aを説明する。図9に示すように、書き直し処理要求テーブル13−1Aは、書き直し処理要求を格納するものであり、エントリ番号と、有効フラグと、トラック番号と、ずれ量、キャッシュデータに有無と、キャッシュデータの位置(アドレス)とで構成される。有効フラグは、トラック番号、ずれ量は、第1の実施の形態で説明したものと同一である。キャッシュデータの有無は、書き直すべきトラックのデータが、バッファ14のキャッシュメモリ14−1に存在しているか否かを示す。キャッシュデータの位置は、存在している場合に、そのデータのキャッシュメモリ14−1の位置(アドレス)を示す。
本願は、このような書き直し要求発生時に、この処理テーブル13−1に、書き直し要求を登録しておき、ライトリトライとは、別の任意のタイミングで、処理テーブル13−1の書き直し要求を実行するものである。
以下、図10及び図11により、図8のライトリトライ処理を説明する。
(S50)MPU11は、図2のように、ヘッド位置が、オフトラックスライス値を越えると、ライトオフトラックを検出し、その時のヘッド25のトラックセンター位置からのずれ量Δnewを取得し、ずれ量Δnewが、図2の重大なオフトラックスライス値α以上であるかを判定する。MPU11は、ずれ量Δnewが、図2の重大なオフトラックスライス値α以上でない場合には、隣接トラックへの影響の可能性なしと判断し、ステップS68の通常のライトリトライを実行する。
(S52)MPU11は、逆に、ずれ量Δnewが、図2の重大なオフトラックスライス値α以上である場合には、隣接トラックへの影響の可能性ありと判断し、処理テーブル13−1への登録処理に移る。MPU11は、この書き直し範囲が、実行中(ライトオフトラックしたライトコマンドの実行中)のコマンドの対象範囲内であるか、又は、未だライトされていない領域であるかを判定する。MPU11は、書き直し範囲が、実行中(ライトオフトラックしたライトコマンドの実行中)のコマンドの対象範囲内である、又は、未だライトされていない領域であると判定すると、書き直しは、必要ないため、ステップS68の通常のライトリトライを実行する。
(S54)MPU11は、書き直し範囲が、実行中(ライトオフトラックしたライトコマンドの実行中)のコマンドの対象範囲内でない、又は、未だライトされていない領域でないと判定すると、処理テーブル13−1Aの既存エントリが、全て有効であるかを、有効フラグから判定する。
(S56)MPU11は、処理テーブル13−1Aの既存エントリが、全てが、有効でない(一部又は全部、無効)と判定すると、図10に示すように、無効なエントリの1つを、登録用エントリに選択する。そして、ステップS62に進む。
(S58)MPU11は、処理テーブル13−1Aの既存エントリが、全てが、有効であると判定すると、処理テーブル13−1Aは、図11の状態である。このままでは、新規エントリを登録できない。このため、MPU11は、処理テーブル13−1Aの全エントリのずれ量Δ1〜ΔMと、今回のずれ量Δnewの大小関係を比較する。そして、この比較で、今回のずれ量Δnewが、最小であるかを判断する。MPU11は、処理テーブル13−1Aの全エントリのずれ量Δ1〜ΔMと、今回のずれ量Δnewの大小関係の比較により、今回のずれ量Δnewが、最小であると判断すると、処理テーブル13−1Aへの登録を行うことなく、ステップS68の通常のライトリトライを実行する。この場合、今回、隣接トラックへの影響の可能性ありと判断された書き直し要求は、実行されない。
(S60)一方、MPU11は、処理テーブル13−1Aの全エントリのずれ量Δ1〜ΔMと、今回のずれ量Δnewの大小関係の比較により、今回のずれ量Δnewが、最小でないと判断すると、処理テーブル13−1Aのずれ量が最小であったエントリを、登録エントリに選択する。
(S62)MPU11は、図10及び図11に示すように、ステップS56又はS60で選択された登録用エントリに、書き直し対象トラック番号Nnewを、ずれ量Δnewを上書きする。
(S64)MPU11は、バッファメモリ14の領域を管理するバッファ制御回路15に、バッファメモリ14のキャッシュメモリ14−1に、この書き直し要求の対象範囲のデータが、存在するかを問い合わせる。存在する場合には、MPU11は、処理テーブル13−1Aの登録用エントリのキャッシュメモリ14−1の位置を、キャッシュメモリの位置に登録する。更に、キャッシュメモリ14−1の当該データの上書き禁止(プロテクト)を設定する。更に、MPU11は、処理テーブル13−1Aの登録エントリのキャッシュデータの有無を、有りとセットする。一方、キャッシュメモリ14−1に、この書き直し要求の対象範囲のデータが、存在しない場合には、MPU11は、処理テーブル13−1Aの登録エントリのキャッシュデータの有無を、無しにセットする。
(S66)そして、MPU11は、処理テーブル13−1Aの登録用エントリの有効フラグを有効にセットする。
(S68)MPU11は、オフトラック検出したトラックのライトリトライを実行する。即ち、キャッシュメモリ14−1から再度、ライトデータを読み出し、そのトラックにライトする。
このように、オフトラック検出した際にライトリトライ時には、隣接トラックへの影響の可能性があっても、このライトリトライと同時に、隣接トラックのリライトを実行せずに、処理テーブル13−1Aに、書き直し要求を格納しておく。そして、後述するように、任意のタイミングで、処理テーブル13−1Aを参照して、隣接トラックの書き戻し処理を実行する。
又、処理テーブル13−1から最小のずれ量のエントリを排除する理由は、ずれ量が小さい場合には、隣接トラックへの影響の可能性があっても、当該隣接トラックのオフセットリード等でデータをリードできる場合があり、それより重大な影響のあるエントリを格納するためである。
更に、リトライ範囲の書き直し要求は、リトライで実行できるため、テーブルに登録しない。又、キャッシュメモリにデータが存在するかを予め調べておく。
次に、この処理テーブル13−1Aを使用したライトコマンド処理を、図12、図13で説明する。
(S70)MPU11は、処理テーブル13−1Aに、有効な書き直し処理要求のエントリがある場合に、この処理を開始する。
(S72)先ず、MPU11は、ライトコマンドを受領したかを判定する。
(S74)MPU11は、ライトコマンドを受領していないと判定すると、その他のコマンド要求(リード、診断等)を受領しているかを判定する、MPU11は、その他のコマンドを受領している場合は、その要求コマンドを実行し、ステップS72に戻る。
(S76)MPU11は、その他のコマンドも受領していないと判定すると、バックグランドで、書き直し処理を実行する。即ち、MPU11は、ショックセンサー28の出力から、直前の重度のライトオフトラック発生時の振動が収まっているかを判定する。MPU11は、直前の重度のライトオフトラック発生時の振動が収まっていないと判定すると、ステップS72に戻る。
(S78)一方、MPU11は、直前の重度のライトオフトラック発生時の振動が収まっていると判定すると、処理テーブル13−1Aを参照して、キャッシュデータ有りの有効エントリがあるかを判定する。キャッシュデータ有りの有効エントリが存在しない場合には、有効エントリから任意のエントリを選択し、書き戻し処理を実施する。例えば、隣接トラックのデータをリードし、リードしたデータをその隣接トラックに書き戻す。逆に、キャッシュデータ有りの有効エントリが存在する場合には、その有効エントリの書き直し処理を行う。即ち、処理テーブル13−1Aからキャッシュデータに位置を得て、キャッシュメモリ14−1のその位置のキャッシュデータを、読み出し、処理テーブル13−1Aで指定されたトラックに書き直す。
(S80)一方、ステップS72で、MPU11は、ライトコマンドを受領していると判定すると、そのコマンドを処理する前に、書き戻し処理する。即ち、MPU11は、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、処理テーブル13−1Aに存在するかを判定する。即ち、ライトコマンドで指定された書き込みトラック番号と、処理テーブル13−1Aの各エントリのトラック番号とを比較して、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、存在するかを判定する。
MPU11は、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、処理テーブル13−1Aに存在すると判定した場合には、当該エントリの書き戻し処理(図13参照)を実行し、ステップS82に進む。逆に、MPU11は、ライトコマンドで指定するトラック領域の隣接トラックを対象とした有効な書き直し要求エントリが、処理テーブル13−1に存在すると判定した場合には、書き直し処理せずに、ステップS82に進む。
(S82)次に、MPU11は、処理テーブル13−1Aに、ライトコマンドで指定するライト範囲内に、対象範囲が全て含まれる有効な書き直し要求エントリが、存在するかを判定する。即ち、ライトコマンドで指定された書き込みトラック番号と、処理テーブル13−1の各エントリのトラック番号とを比較して、ライトコマンドで指定するライト範囲内に、対象範囲が全て含まれる有効な書き直し要求エントリが、存在するかを判定する。存在する場合は、当該ライトコマンドのデータで上書きされるため、そのエントリの有効フラグを無効に変更する。即ち、書き直しは、必要ないため、無効とする。
(S84)MPU11は、ライトコマンドを実行する、即ち、ライトコマンドで指定するトラックにライトデータを書き込む。
(S86)MPU11は、処理テーブル13−1Aを参照して、有効な書き直し処理要求が残っているかを判定する。MPU11は、有効な書き直し処理要求が残っている場合には、ステップS72に戻り、残っていなければ、この処理を終了する。
図13により、図12の書き直し処理を説明する。
(S90)MPU11は、処理テーブル13−1Aを参照して、そのエントリが、キャッシュデータ有りの有効エントリであるかを判定する。
(S92)逆に、キャッシュデータ有りの有効エントリである場合には、MPU11は、処理テーブル13−1Aからキャッシュデータに位置を得て、キャッシュメモリ14−1のその位置のキャッシュデータを、読み出し、処理テーブル13−1Aで指定されたトラックに書き直す。そして、MPU11は、キャッシュメモリ14−1のそのキャッシュ位置を上書き可能に設定する(プロテクトを外す)。
(S94)キャッシュデータ有りの有効エントリでない場合には、書き直し対象の隣接トラックのデータをリードし、リードしたデータをその隣接トラックに書き戻す。
(S96)そして、MPU11は、処理テーブル13−1Aの当該エントリを無効に設定する。そして、書き直し処理を終了する。
図13の書き直し処理は、図12のステップS78の書き直し処理と、ステップS80の書き直し処理とを兼用するため、ステップS90の判断が設けられている。しかしながら、ステップS78の書き直し処理は、実際に実行される処理は、図13のいずれか一方である。
このように、リトライしたライトコマンドと別のライトコマンドに同期して、ライトコマンドで指定するトラック領域の隣接トラックを、書き直しし、ライトコマンドを実行する。隣接トラックのため、ライトコマンドの実行時間への影響は、小さい。又、ライトコマンドに範囲に含まれる書き直し領域は、特別の書き直しをせず、ライトコマンドの実行により、隣接トラックも上書きされるため、ライトコマンドの実行時間への影響を防止できる。
更に、有効エントリも、コマンドの到来しないバックグランドで、振動が収まった後、書き直しするため、振動が継続した状態での、書き直しを防止できる。しかも、書き直し処理にキャッシュデータを使用する際、該当するキャッシュデータは当該書き直し処理を実施するまで、保持され続けることになり、使用できるキャッシュ領域の減少及び断片化を招く。このため、キャッシュデータを使用した書き直し処理は、キャッシュデータを使用しない書き直し処理に優先して実施し、キャッシュメモリの有効活用を図る。
さらに、書き直し処理要求が登録されているシリンダの隣接シリンダに対してライトを実行する際、書き直し対象シリンダがこれ以上、隣接シリンダのライトに伴う寄せ書きの影響を受けないよう、当該書き直し処理を実施してから当該ライト処理を実施している。
(他の実施の形態)
前述の実施の形態では、データ記憶装置を磁気ディスク装置で説明したが、光ディスク、光磁気ディスク、セクタ単位に記録する他の記憶媒体を使用した記憶装置にも適用できる。更に、インターフェースは、ATAに限らず、他のインターフェースにも適用できる。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
尚、本発明は、以下の発明を包含する。
(付記1)回転する記憶媒体に、データのリード及びライトを行うヘッドと、前記記憶媒体の所望トラックに前記ヘッドを位置付けるアクチュエータと、上位からのライトコマンド及びライトデータを受領し、前記ライトデータを、前記ヘッドにより、前記記憶媒体の指定されたトラックにライトするとともに、前記ヘッドによる前記トラックへのライト時に、前記ヘッドが、前記トラックから外れたオフトラックを検出し、前記ライトデータの前記トラックへのライトリトライを実行する制御回路と、書き直し要求を格納する書き直し要求テーブルとを有し、前記制御回路は、前記オフトラック検出時に、前記ヘッドのオフトラックによる隣接トラックのデータへの影響の可能性があるか否かを判定し、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックの書き直し要求を、前記書き直し要求テーブルに格納し、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記書き直し要求を実行することを特徴とするデータ記憶装置。
(付記2)前記制御回路は、他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記書き直し要求を実行することを特徴とする付記1のデータ記憶装置。
(付記3)前記制御回路は、前記オフトラック要因である振動が収まったかを判定し、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記書き直し要求を実行することを特徴とする付記1のデータ記憶装置。
(付記4)前記制御回路は、前記他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記ライトコマンドで指定されたトラックに隣接するトラックに対する前記書き直し要求を実行することを特徴とする付記2のデータ記憶装置。
(付記5)前記制御回路は、前記他のライトコマンドを受領した時に、前記書き直し要求テーブルに、前記ライトコマンドで指定されたトラックに隣接するトラックに対する前記書き直し要求が存在するかを判定し、前記隣接トラックの書き直し要求が存在する場合に、前記隣接トラックの書き直し要求を実行し、前記隣接トラックの書き直し要求が存在しない場合には、前記オフトラック要因である振動が収まったかを判定し、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記隣接トラック以外の書き直し要求を実行することを特徴とする付記2のデータ記憶装置。
(付記6)前記制御回路は、他のライトコマンドを受領した時に、前記書き直し要求テーブルの前記書き直し要求の書き直し領域が、前記他のライトコマンドのライト範囲内であるかを判定し、前記書き直し要求の書き直し領域が、前記他のライトコマンドのライト範囲内であるとの判定に応じて、前記書き直し要求テーブルに格納された前記書き直し要求をリセットすることを特徴とする付記1のデータ記憶装置。
(付記7)前記書き直し要求テーブルは、少なくとも、対象トラック番号と、前記オフトラック時のヘッドのずれ量とを有する複数の書き直し要求を格納し、前記制御回路は、前記隣接トラックのデータへの影響の可能性があると判定した場合に、前記隣接トラックの書き直し要求の前記ヘッドのずれ量と、前記書き直し要求テーブルに格納された前記書き直し要求のずれ量とを比較し、前記ずれ量が最小である前記書き直し要求を、前記書き直し要求テーブルから削除することを特徴とする付記1のデータ記憶装置。
(付記8)前記制御回路は、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックが、前記オフトラックを発生した前記ライトコマンドの対象範囲内であるかを判定し、前記隣接トラックが、前記ライトコマンドの対象範囲内であることの判定に応じて、前記隣接トラックの書き直し要求を、前記書き直し要求テーブルへの格納を禁止することを特徴とする付記1のデータ記憶装置。
(付記9)前記制御回路は、前記ライトコマンドを受領していないことを判定し、前記ライトコマンドを受領していない場合に、前記書き直し要求テーブルに格納された前記書き直し要求を実行することを特徴とする付記1のデータ記憶装置。
(付記10)前記ライトデータを一時格納するキャッシュメモリを更に有し、前記制御回路は、前記書き直し要求テーブルの前記書き直し要求の対象データが前記キャッシュメモリに存在するかを判定し、前記書き直し要求の対象データが、前記キャッシュメモリに存在する場合に、前記キャッシュメモリの対象データを前記隣接トラックにライトして、前記書き直し要求を実行することを特徴とする付記1のデータ記憶装置。
(付記11)前記制御回路は、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックのデータが、キャッシュメモリに存在するかを判定し、存在する場合に、前記キャッシュメモリに存在する識別子を付して、前記書き直し要求を、前記書き直し要求テーブルに格納し、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記キャッシュメモリに存在する識別子を有する書き直し要求を優先的に実行することを特徴とする付記10のデータ記憶装置。
(付記12)回転する記憶媒体の所望のトラックに、データのリード及びライトを行うヘッドを位置付け、前記データのリード及びライトを行うデータ記憶装置の隣接トラック書き直し処理方法において、前記ヘッドによる前記トラックへのライト時に、前記ヘッドが、前記トラックから外れたオフトラックを検出するステップと、前記オフトラック検出時に、前記ヘッドのオフトラックによる隣接トラックのデータへの影響の可能性があるか否かを判定するステップと、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックの書き直し要求を、書き直し要求テーブルに格納するステップと、前記ライトデータの前記トラックへのライトリトライを実行するステップと、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップとを有することを特徴とする隣接トラック書き直し処理方法。
(付記13)前記書き直し要求を実行するステップは、他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記14)前記書き直し要求を実行するステップは、前記オフトラック要因である振動が収まったかを判定するステップと、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップとを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記15)前記書き直し要求を実行するステップは、前記他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記ライトコマンドで指定されたトラックに隣接するトラックに対する前記書き直し要求を実行するステップを有することを特徴とする付記13の隣接トラック書き直し処理方法。
(付記16)前記書き直し要求を実行するステップは、前記他のライトコマンドを受領した時に、前記書き直し要求テーブルに、前記ライトコマンドで指定されたトラックに隣接するトラックに対する前記書き直し要求が存在するかを判定するステップと、前記隣接トラックの書き直し要求が存在する場合に、前記隣接トラックの書き直し要求を実行するステップと、前記隣接トラックの書き直し要求が存在しない場合には、前記オフトラック要因である振動が収まったかを判定し、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記隣接トラック以外の書き直し要求を実行するステップとを有することを特徴とする付記13の隣接トラック書き直し処理方法。
(付記17)前記書き直し要求を実行するステップは、他のライトコマンドを受領した時に、前記書き直し要求テーブルの前記書き直し要求の書き直し領域が、前記他のライトコマンドのライト範囲内であるかを判定するステップと、前記書き直し要求の書き直し領域が、前記他のライトコマンドのライト範囲内であるとの判定に応じて、前記書き直し要求テーブルに格納された前記書き直し要求をリセットするステップとを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記18)前記格納ステップは、前記隣接トラックのデータへの影響の可能性があると判定した場合に、前記隣接トラックの書き直し要求の前記ヘッドのずれ量と、前記書き直し要求テーブルに格納された前記書き直し要求のずれ量とを比較し、前記ずれ量が最小である前記書き直し要求を、前記書き直し要求テーブルから削除するステップを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記19)前記格納ステップは、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックが、前記オフトラックを発生した前記ライトコマンドの対象範囲内であるかを判定するステップと、前記隣接トラックが、前記ライトコマンドの対象範囲内であることの判定に応じて、前記隣接トラックの書き直し要求を、前記書き直し要求テーブルへの格納を禁止するステップとを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記20)前記書き直し要求を実行するステップは、前記ライトコマンドを受領していないことを判定するステップと、前記ライトコマンドを受領していない場合に、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップとを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記21)前記書き直し要求を実行するステップは、前記書き直し要求テーブルの前記書き直し要求の対象データが、ライトデータを一時格納するキャッシュメモリに存在するかを判定するステップと、前記書き直し要求の対象データが、前記キャッシュメモリに存在する場合に、前記キャッシュメモリの対象データを前記隣接トラックにライトして、前記書き直し要求を実行するステップとを有することを特徴とする付記12の隣接トラック書き直し処理方法。
(付記22)前記格納するステップは、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックのデータが、キャッシュメモリに存在するかを判定するステップと、存在する場合に、前記キャッシュメモリに存在する識別子を付して、前記書き直し要求を、前記書き直し要求テーブルに格納するステップとを有し、前記書き直し要求を実行するステップは、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記キャッシュメモリに存在する識別子を有する書き直し要求を優先的に実行するステップを有することを特徴とする付記21の隣接トラック書き直し処理方法。
ライトコマンドにて隣接トラックのデータに影響を与えるオフトラックエラーが発生した際、当該ライトコマンドに付随して、即時書き直し処理を実施せず、書き直しが必要なトラックの情報やオフトラック時のずれ量等の書き直し要求を保持しておき、ライトリトライと別のタイミングで、保持した書き直し要求を実行するため、オフトラック要因となった振動が収まるのを待ってから書き直し処理を実施でき、書き直し処理時のオフトラックエラーの発生、ないし寄せ書きの発生を抑止でき、また書き直し処理をバックグラウンドで行うことで当該ライトコマンドの実行時間の延伸を軽減し、書き直し処理によるドライブの性能低下を軽減させることができる。
本発明の一実施の形態のデータ記憶装置の構成図である。 本発明の一実施の形態のオフトラック及び隣接トラックの寄せ書きの説明図である。 本発明の第1の実施の形態のライトリトライ処理のフロー図である。 図1及び図3の書き直し要求テーブルの説明図である。 図4の書き直し要求テーブルへの図3の書き直し要求格納処理の説明図である。 図4の書き直し要求テーブルのフル時の図3の書き直し要求格納処理の説明図である。 本発明の第1の実施の形態の書き直し処理のフロー図である。 本発明の第2の実施の形態のライトリトライ処理のフロー図である。 図1及び図8の書き直し要求テーブルの説明図である。 図9の書き直し要求テーブルへの図8の書き直し要求格納処理の説明図である。 図9の書き直し要求テーブルのフル時の図8の書き直し要求格納処理の説明図である。 本発明の第2の実施の形態の書き直し処理のフロー図である。 図12の書き直し処理フロー図である。
符号の説明
10 ディスク装置
11 MPU(処理ユニット)
26 HDC
13 メモリ(ROM/RAM)
13−1,13−1A 書き直し要求テーブル
14 データバッファ
14−1 キャッシュメモリ
15 データバッファ制御回路
24 リードチャネル回路
17 バス
18 ヘッドIC
19 記憶媒体(磁気ディスク)
20 スピンドルモータ
22 アクチュエータ(VCM)
25 ヘッド(磁気ヘッド)

Claims (6)

  1. 回転する記憶媒体に、データのリード及びライトを行うヘッドと、
    前記記憶媒体の所望トラックに前記ヘッドを位置付けるアクチュエータと、
    上位からのライトコマンド及びライトデータを受領し、前記ライトデータを、前記ヘッドにより、前記記憶媒体の指定されたトラックにライトするとともに、前記ヘッドによる前記トラックへのライト時に、前記ヘッドが、前記トラックから外れたオフトラックを検出し、前記ライトデータの前記トラックへのライトリトライを実行する制御回路と、
    書き直し要求を格納する書き直し要求テーブルとを有し、
    前記制御回路は、前記オフトラック検出時に、前記ヘッドのオフトラックによる隣接トラックのデータへの影響の可能性があるか否かを判定し、前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックの書き直し要求を、前記書き直し要求テーブルに格納し、前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記書き直し要求を実行する
    ことを特徴とするデータ記憶装置。
  2. 前記制御回路は、他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記書き直し要求を実行する
    ことを特徴とする請求項1のデータ記憶装置。
  3. 前記制御回路は、前記オフトラック要因である振動が収まったかを判定し、前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記書き直し要求を実行する
    ことを特徴とする請求項1のデータ記憶装置。
  4. 回転する記憶媒体の所望のトラックに、データのリード及びライトを行うヘッドを位置付け、前記データのリード及びライトを行うデータ記憶装置の隣接トラック書き直し処理方法において、
    前記ヘッドによる前記トラックへのライト時に、前記ヘッドが、前記トラックから外れたオフトラックを検出するステップと、
    前記オフトラック検出時に、前記ヘッドのオフトラックによる隣接トラックのデータへの影響の可能性があるか否かを判定するステップと、
    前記隣接トラックのデータへの影響の可能性があると判定した場合には、前記隣接トラックの書き直し要求を、書き直し要求テーブルに格納するステップと、
    前記ライトデータの前記トラックへのライトリトライを実行するステップと、
    前記ライトリトライとは、別のタイミングで、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップとを有する
    ことを特徴とする隣接トラック書き直し処理方法。
  5. 前記書き直し要求を実行するステップは、他のライトコマンドを受領した時に、前記ライトコマンドの実行前に、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップを有する
    ことを特徴とする請求項4の隣接トラック書き直し処理方法。
  6. 前記書き直し要求を実行するステップは、
    前記オフトラック要因である振動が収まったかを判定するステップと、
    前記振動が収まったと判定した時に、前記書き直し要求テーブルに格納された前記書き直し要求を実行するステップとを有する
    ことを特徴とする請求項4の隣接トラック書き直し処理方法。
JP2008116955A 2008-04-28 2008-04-28 データ記憶装置及び隣接トラック書き直し処理方法。 Expired - Fee Related JP5058060B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008116955A JP5058060B2 (ja) 2008-04-28 2008-04-28 データ記憶装置及び隣接トラック書き直し処理方法。
US12/401,398 US7859784B2 (en) 2008-04-28 2009-03-10 Data storage device and adjacent track rewrite processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008116955A JP5058060B2 (ja) 2008-04-28 2008-04-28 データ記憶装置及び隣接トラック書き直し処理方法。

Publications (3)

Publication Number Publication Date
JP2009266333A true JP2009266333A (ja) 2009-11-12
JP2009266333A5 JP2009266333A5 (ja) 2010-10-21
JP5058060B2 JP5058060B2 (ja) 2012-10-24

Family

ID=41214758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008116955A Expired - Fee Related JP5058060B2 (ja) 2008-04-28 2008-04-28 データ記憶装置及び隣接トラック書き直し処理方法。

Country Status (2)

Country Link
US (1) US7859784B2 (ja)
JP (1) JP5058060B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012138157A (ja) * 2010-12-27 2012-07-19 Toshiba Corp 情報記録装置及び情報記録方法
JP2013157067A (ja) * 2012-01-31 2013-08-15 Toshiba Corp 情報記録装置、及び情報記録方法
JP2014158658A (ja) * 2013-11-28 2014-09-04 Sanyo Product Co Ltd 遊技機

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5694210B2 (ja) * 2012-02-01 2015-04-01 株式会社東芝 磁気ディスク装置、リードライト制御方法、及びコントローラ
JP5787839B2 (ja) * 2012-07-25 2015-09-30 株式会社東芝 ディスク記憶装置及びデータ保護方法
US8922931B1 (en) * 2013-05-13 2014-12-30 Western Digital Technologies, Inc. Disk drive releasing variable amount of buffered write data based on sliding window of predicted servo quality
US9293153B2 (en) 2013-10-18 2016-03-22 Seagate Technology Llc Method and system for preserving data of a storage device
CN104900241A (zh) * 2014-03-05 2015-09-09 株式会社东芝 磁盘装置及磁盘装置的控制方法
US9286947B1 (en) * 2014-10-07 2016-03-15 Seagate Technology Llc Method and system for preserving data of a storage device
CN106486140B (zh) * 2015-08-27 2019-03-29 株式会社东芝 磁盘装置及写入控制方法
JP2019204566A (ja) * 2018-05-22 2019-11-28 株式会社東芝 磁気ディスク装置及びリード/ライト処理方法
CN113312065B (zh) * 2021-06-06 2022-10-21 深圳市昂科技术有限公司 数据烧录方法、装置、终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06267192A (ja) * 1992-07-30 1994-09-22 Internatl Business Mach Corp <Ibm> 書き込み動作中のデータ損失を防ぐシステム及び方式
JPH06338134A (ja) * 1993-05-25 1994-12-06 Citizen Watch Co Ltd 磁気ディスク装置
JPH11203614A (ja) * 1998-01-07 1999-07-30 Nec Ibaraki Ltd 磁気ディスク装置
JP2001014606A (ja) * 1999-06-25 2001-01-19 Hitachi Ltd 磁気ディスク装置
JP2003085883A (ja) * 2001-09-12 2003-03-20 Ricoh Co Ltd 情報記録装置
JP2007122835A (ja) * 2005-10-31 2007-05-17 Fujitsu Ltd 記憶装置、制御方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781780B1 (en) * 2001-06-21 2004-08-24 Western Digital Technologies, Inc. Method and system for preventing data loss from an off-track write condition in a disk drive by rewriting data buffered from an adjacent track
JP3942483B2 (ja) * 2002-05-15 2007-07-11 富士通株式会社 隣接トラックデータの保証処理方法及びデイスク装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06267192A (ja) * 1992-07-30 1994-09-22 Internatl Business Mach Corp <Ibm> 書き込み動作中のデータ損失を防ぐシステム及び方式
JPH06338134A (ja) * 1993-05-25 1994-12-06 Citizen Watch Co Ltd 磁気ディスク装置
JPH11203614A (ja) * 1998-01-07 1999-07-30 Nec Ibaraki Ltd 磁気ディスク装置
JP2001014606A (ja) * 1999-06-25 2001-01-19 Hitachi Ltd 磁気ディスク装置
JP2003085883A (ja) * 2001-09-12 2003-03-20 Ricoh Co Ltd 情報記録装置
JP2007122835A (ja) * 2005-10-31 2007-05-17 Fujitsu Ltd 記憶装置、制御方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012138157A (ja) * 2010-12-27 2012-07-19 Toshiba Corp 情報記録装置及び情報記録方法
JP2013157067A (ja) * 2012-01-31 2013-08-15 Toshiba Corp 情報記録装置、及び情報記録方法
JP2014158658A (ja) * 2013-11-28 2014-09-04 Sanyo Product Co Ltd 遊技機

Also Published As

Publication number Publication date
JP5058060B2 (ja) 2012-10-24
US20090268336A1 (en) 2009-10-29
US7859784B2 (en) 2010-12-28

Similar Documents

Publication Publication Date Title
JP5058060B2 (ja) データ記憶装置及び隣接トラック書き直し処理方法。
US8599510B1 (en) Disk drive adjusting data track density based on write condition when writing to contiguous data tracks
US9336819B2 (en) Apparatus and method for writing data based on drive state
JP4469906B2 (ja) 磁気ディスク装置及び同装置におけるデータリフレッシュ方法
US8578100B1 (en) Disk drive flushing write data in response to computed flush time
US7907364B2 (en) Disk drive including a delay circuit to provide a delayed reset signal
US7880994B2 (en) Vibration detection for data storage device and write processing method for data storage device
JP4922433B2 (ja) 磁気ディスク装置及びデータブロックの書き換え方法
US20100202078A1 (en) Read/write processing method for medium recording device and medium recording device
US8832366B1 (en) Disk drive to coalesce unaligned writes in write operations
US8117491B2 (en) Disk-drive device and method for error recovery thereof
US20120162809A1 (en) Magnetic disk drive and method of accessing a disk in the drive
JP4745172B2 (ja) 制御装置および記憶装置
US7607039B2 (en) Data storage device with re-allocation processing which determines an order in which re-allocation processing is executed for defective sectors
US8320066B2 (en) Storage device and read/write processing method therefor
US9105297B2 (en) Information recording device and data recovery method
JP2006252733A (ja) 媒体記憶装置及び媒体記憶装置のライト系経路診断方法。
US10867633B1 (en) Reduced adjacent track erasure from write retry
JP4869416B2 (ja) 磁気ディスク装置及び同装置におけるデータリフレッシュ方法
JP4919983B2 (ja) データ記憶装置及びデータ記憶装置におけるデータ管理方法
US7987317B2 (en) Data recording device and control method of same
US20170229141A1 (en) Managing read and write errors under external vibration
US20070174739A1 (en) Disk device, method of writing data in disk device, and computer product
US8922931B1 (en) Disk drive releasing variable amount of buffered write data based on sliding window of predicted servo quality
US9268649B1 (en) Disk drive with recent write streams list for data refresh determination

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100906

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120731

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees