JP2006286128A - 磁気ディスク装置 - Google Patents
磁気ディスク装置 Download PDFInfo
- Publication number
- JP2006286128A JP2006286128A JP2005106901A JP2005106901A JP2006286128A JP 2006286128 A JP2006286128 A JP 2006286128A JP 2005106901 A JP2005106901 A JP 2005106901A JP 2005106901 A JP2005106901 A JP 2005106901A JP 2006286128 A JP2006286128 A JP 2006286128A
- Authority
- JP
- Japan
- Prior art keywords
- sector
- write
- data
- magnetic disk
- information
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】 パフォーマンスの低下を抑えつつ、オフトラックの問題を回避できる磁気ディスク装置を提供する。
【解決手段】 ホストによって作成されたファイルシステムに関する情報が記録された磁気ディスク、データを記憶する記憶部、及び前記ホストから書込コマンドを受信すると、当該書込コマンドによってデータの書込先として指定される書込先セクタを特定し、当該特定した書込先セクタに対して、前記磁気ディスクの動径方向に隣接する隣接セクタを特定し、当該特定した隣接セクタを少なくとも含む候補セクタを選択し、当該選択した候補セクタに書き込まれているデータを前記記憶部に退避すべきか否かを、前記ファイルシステムに関する情報を参照して判断し、退避すべきと判断した候補セクタに書き込まれているデータを前記記憶部に退避して、前記特定された書込先セクタへのデータ書込を実行する書込制御部、を備える磁気ディスク装置とする。
【選択図】 図3
【解決手段】 ホストによって作成されたファイルシステムに関する情報が記録された磁気ディスク、データを記憶する記憶部、及び前記ホストから書込コマンドを受信すると、当該書込コマンドによってデータの書込先として指定される書込先セクタを特定し、当該特定した書込先セクタに対して、前記磁気ディスクの動径方向に隣接する隣接セクタを特定し、当該特定した隣接セクタを少なくとも含む候補セクタを選択し、当該選択した候補セクタに書き込まれているデータを前記記憶部に退避すべきか否かを、前記ファイルシステムに関する情報を参照して判断し、退避すべきと判断した候補セクタに書き込まれているデータを前記記憶部に退避して、前記特定された書込先セクタへのデータ書込を実行する書込制御部、を備える磁気ディスク装置とする。
【選択図】 図3
Description
本発明は、磁気ディスク装置におけるデータの書込処理に関する。
ハードディスクドライブ等の磁気ディスク装置においては、磁気ディスク上のデータの記録密度を上げるために、トラックの間隔を低減させることが益々要求されている。
一方で、磁気ディスク装置は、設置型のパーソナルコンピュータのみならず、携帯型の記憶装置等にも用いられるようになってきている。
このような磁気ディスク装置を用いた携帯型記憶装置等においては、外部から振動や衝撃が加わりやすく、このため、当該振動や衝撃によって磁気ディスク上の磁気ヘッド位置が移動し、本来書き込むべきトラック以外のトラックにデータを上書きしてしまうといった、いわゆるオフトラックライト(Off−track write)の問題が生じやすい。
このオフトラックライトの問題を回避するために、従来、例えば、データを書き込む前に、予め書込先のセクタの近傍のセクタに記録されているデータを磁気ディスクから読み出して退避させておき、オフトラックライトが生じた場合には、当該退避させていたデータを当該近傍のセクタに書き込む方法があった(例えば、特許文献1)。
特開2004−47023号公報
しかしながら、上記従来の方法においては、書込処理のたびにデータの退避を行うため、磁気ディスク装置のパフォーマンスが低下するという問題があった。
本発明は、上記課題に鑑みて為されたものであり、パフォーマンスの低下を抑えつつ、オフトラックの問題を回避できる磁気ディスク装置を提供することをその目的の一つとする。
上記課題を解決するための本発明の一態様に係る磁気ディスク装置は、ホストによって作成されたファイルシステムに関する情報が記録された磁気ディスク、データを記憶する記憶部、及び前記ホストから書込コマンドを受信すると、当該書込コマンドによってデータの書込先として指定される書込先セクタを特定し、当該特定した書込先セクタに対して、前記磁気ディスクの動径方向に隣接する隣接セクタを特定し、当該特定した隣接セクタを少なくとも含む候補セクタを選択し、当該選択した候補セクタに書き込まれているデータを前記記憶部に退避すべきか否かを、前記ファイルシステムに関する情報を参照して判断し、退避すべきと判断した候補セクタに書き込まれているデータを前記記憶部に退避して、前記特定された書込先セクタへのデータ書込を実行する書込制御部、を備えることを特徴とする。
以下に、本発明の一実施の形態に係る磁気ディスク装置について、図面を参照しながら説明する。図1は、本実施形態に係る磁気ディスク装置の主な構成を示すブロック図である。
図1に示すように、この磁気ディスク装置1は、ホストコンピュータH(以下、ホストと呼ぶ。)と接続され、当該ホストHから受信したデータ等が記録される磁気ディスク2と、当該磁気ディスク2の表面に浮上して、当該磁気ディスク2へのデータの書込及び当該磁気ディスク2に書き込まれたデータの読取を行う磁気ヘッド3と、を含んで構成されている。
この磁気ディスク2において、データは、図2に示すように、当該磁気ディスク2の表面に同心円状に配置されるトラック上に記録される。各トラックは、さらに、その円周方向に、データを記録する最小単位の領域であるセクタ(図示せず)に分割される。
この磁気ディスク2には、ホストHによって作成されるファイルシステムに関する情報が記録されている。このファイルシステムに関する情報は、ホストHが用いるオペレーティングシステム(Operating System;以下、OSと呼ぶ)に対応するものであり、ホストHによって作成される。このファイルシステムに関する情報には、磁気ディスク2上の各セクタに有効なデータが書き込まれているか否かを判断するための情報が含まれる。具体例として、このファイルシステムに関する情報は、例えば、ウィンドウズ(登録商標)、UNIX(登録商標)、MacOS(登録商標)等のOSごとに異なっており、ウィンドウズ(登録商標)であれば例えばFAT(File Allocation Table)であり、MacOS(登録商標)であればHFS(Hierarchical File System)であるなど、有効なデータが書き込まれているセクタ位置を管理する情報として作成されたものである。この情報は、磁気ディスク2上に記録される。
また、図2に示すように、この磁気ディスク2の表面には、各トラックを分割するように放射線状にサーボ情報が記録されている。このサーボ情報は、磁気ディスク2上における磁気ヘッド3の位置を特定するために用いられる。
磁気ヘッド3は、磁界を発生させるコイルや電極等を含み、磁気ディスク2の表面を磁化してデータを書き込む書込ヘッド(図示せず)と、磁気ディスク2に記録されたデータによって形成される磁界に応じた信号を出力する巨大磁気抵抗(Giant Magneto Resistive)素子等を含み、当該磁気ディスク2に記録されたデータを読み取る読取ヘッド(図示せず)と、を有する。
また、この磁気ディスク装置1は、磁気ディスク2を回転させるためのスピンドルモータ4(Spindle Motor;以下、SPMと呼ぶ。)と、磁気ヘッド3を磁気ディスク2上で移動させるためのボイスコイルモータ5(Voice Coil Motor;以下、VCMと呼ぶ。)と、ホストHとのデータの送受信等を行うハードディスクコントローラ10(Hard Disk Controller;以下、HDCと呼ぶ。)と、データの変調/復調等の信号処理を行うリード(Read)/ライト(Write)チャネル11(以下、R/Wチャネルと呼ぶ。)と、信号の増幅処理や磁気ヘッド3への電流の供給処理等を行うR/Wアンプ12と、書込処理や読取処理において必要とされる各種のデータの演算処理等を行うマイクロプロセッシングユニット13(Micro Processing Unit:以下、MPUと呼ぶ。)と、SPM4とVCM5とを制御するモータドライバ14と、HDC10がホストHから受信したデータ等を保持するバッファ15と、MPU13が動作する際に用いるプログラム等を保持する不揮発性メモリ16と、MPU13がその処理の過程において用いるデータを保持するワークメモリ17と、を有している。
なお、MPU13は、CPU(Central Processing Unit)等によって実現され、バッファ15とワークメモリ17とは、同期ダイナミックランダムアクセスメモリ(Synchronous Dynamic Random Access Memory)やスタティックランダムアクセスメモリ(Static Random Access Memory)等によって実現され、不揮発性メモリ16は、リードオンリーメモリ(Read Only Memory)等によって実現される。
ここで、磁気ディスク装置1が行う書込処理の概要について説明する。なお、本実施形態においては、磁気ディスク装置1が行う書込処理と読取処理とのうち、主に書込処理について説明する、
HDC10は、ホストHから、磁気ディスク2にデータを書き込むよう指示する書込コマンドを受け入れて、当該受け入れた書込コマンドをバッファ15に保持するともに、磁気ヘッド3の現在位置を特定するようR/Wチャネル11に命令する。
HDC10から命令を受け入れたR/Wチャネル11は、磁気ヘッド3が磁気ディスク2上に位置している場合には、当該磁気ヘッド3の読取ヘッドにバイアス電流を供給して、当該磁気ディスク2上に記録されているサーボ情報(図2参照)を読み取るようR/Wアンプ12に命令する。そして、このR/Wチャネル11は、読取ヘッドが磁気ディスク2から読み取ったサーボ情報をR/Wアンプ12から受け入れてHDC10に出力する。
HDC10は、このR/Wチャネル11から受け入れたサーボ情報と、書込コマンドによって書込データの書き込み先として指定される書込先セクタを特定する書込先セクタ特定情報と、をMPU13に出力する。
MPU13は、HDC10から受け入れたサーボ情報と書込先セクタ特定情報とに基づいて、磁気ヘッド3を現在位置から書込先セクタ位置に移動させるために必要な当該磁気ヘッド3の移動量を算出し、磁気ヘッド3を当該移動量だけ移動させるようモータドライバ14に命令する。モータドライバ14は、MPU13から受け入れた命令に従ってVCM5を駆動させ、磁気ヘッド3を書込先セクタを含むトラック上に移動させる(オントラック動作)。
一方、HDC10は、バッファ15に保持していた書込コマンドを読み出してR/Wチャネル11に出力する。HDC10から書込コマンドを受け入れたR/Wチャネル11は、当該書込コマンドに係る書込データを変調して、当該変調後の書込信号をR/Wアンプ12に出力する。
R/Wチャネルから書込信号を受け入れたR/Wアンプ12は、当該書込信号を増幅し、当該書込信号に応じた書込電流を、磁気ヘッド3が有する書込ヘッドのコイルに供給する。
この結果、書込ヘッドのコイルに書込信号に応じた磁界が形成され、当該磁界によって磁気ディスク2表面の書込先セクタが磁化されることによって、データの書込が行われる。
次に、磁気ディスク装置1が行う書込処理の具体的内容について説明する。本実施形態においては、HDC10とMPU13とが、この書込処理における主な処理を制御する書込制御部として機能する。
図3は、この書込制御部20が行う主な処理を示す機能ブロック図である。図3に示すように、書込制御部20は、書込先セクタ特定部21と、候補セクタ特定部22と、ファイルシステム読出部23と、対象セクタ特定部24と、退避処理部25と、書込処理部26と、オフトラック判断部27と、退避データ書込部28と、を機能的に含んでいる。
書込先セクタ特定部21は、ホストHから書込コマンドを受け入れて、当該書込コマンドによってデータの書込先として指定される磁気ディスク2上のセクタを書込先セクタとして特定する。
具体的に、この書込先セクタ特定部21は、例えば、図4に示すように、書込コマンドが、磁気ディスク2上に配置されるトラックのうち、トラック番号「N」を割り当てられたトラック「N」上であって、サーボ情報「M」とサーボ情報「M+1」とに挟まれた領域において、セクタ番号「S」が割り当てられたセクタ「S」を書込先セクタとして指定している場合には、当該トラック番号「N」とセクタ番号「S」との組によって当該書込先セクタを特定する。
すなわち、この場合、書込先セクタ特定部21は、書込先セクタのトラック番号「N」とセクタ番号「S」とを互いに関連付けた情報を、当該書込先セクタを特定する書込先セクタ特定情報として生成し、候補セクタ特定部22に出力する。
また、この書込先セクタ特定部21は、書込先セクタ特定情報と、書込コマンドによって書込先セクタに書き込むべきデータとして指定される書込データと、を書込処理部26に出力する。
なお、この書込先セクタ特定部21は、ホストHから複数の書込コマンドを受け入れた場合には、当該複数の書込コマンドのうち少なくとも一部をコマンドキュー(queue)としてバッファ15に保持する。この場合、書込先セクタ特定部21は、磁気ディスク装置1における書込処理の進行状況に応じて、バッファ15に保持したコマンドキューから、書込コマンドを順次読み出して、当該読み出した書込コマンドに係る処理を行う。
候補セクタ特定部22は、書込先セクタ特定部21から受け入れた書込先セクタ特定情報に基づいて、後述するデータ退避処理において、データを退避させるか否かの判断の対象となる候補セクタを特定する。
具体的に、この候補セクタ特定部22は、まず、書込先セクタ特定情報によって特定される書込先セクタに対して、磁気ディスク2の動径方向に隣接するセクタを隣接セクタとして特定する。
すなわち、この候補セクタ特定部22は、例えば、図4に示す例においては、書込先セクタが含まれるトラック「N」に対して、磁気ディスク2の動径方向(矢印Dの方向)の内周側に隣接するトラック「N−1」と、外周側に隣接するトラック「N+1」と、を隣接トラックとして特定する。
そして、この候補セクタ特定部22は、この特定した2つの隣接トラックの各々において、書込先セクタに対して、動径方向の内周側と外周側とにそれぞれ隣接する、書込先セクタと同じセクタ番号「S」が割り当てられているセクタを隣接セクタとして特定する。
次に、この候補セクタ特定部22は、さらに、この隣接セクタに対して、磁気ディスク2の円周方向(矢印Rの方向)に隣接する、セクタ番号「S−1」が割り当てられているセクタと、セクタ番号「S+1」が割り当てられているセクタと、を近傍セクタとして特定する。
このように、候補セクタ特定部22は、磁気ディスク2上に配置されるセクタのうちから、1つの書込先セクタ(図4において斜線のハッチングが施されたセクタ)について、当該書込先セクタに対し磁気ディスク2の動径方向に隣接する2つの隣接セクタと、当該2つの隣接セクタの各々に対して磁気ディスク2の円周方向に隣接する4つの近傍セクタと、をあわせて、6つの候補セクタ(図4においてメッシュのハッチングが施されたセクタ)として選択する。
そして、この候補セクタ特定部22は、各候補セクタのトラック番号とセクタ番号とを関連付けた情報を、各候補セクタを特定する候補セクタ特定情報として生成し、対象セクタ特定部24に出力する。
また、この候補セクタ特定部22は、ファイルシステム読出部23に対して、磁気ディスク2に記録されているファイルシステムに関する情報を読み出して対象セクタ特定部24に出力するよう命令する。
ファイルシステム読出部23は、候補セクタ特定部22から受け入れた命令に従い、磁気ヘッド3に対して、磁気ディスク2に記録されているファイルシステムに関する情報(以下、ファイルシステム関連情報と呼ぶ。)を読み出すよう命令し、当該磁気ヘッド3によって読み取られたファイルシステム関連情報を取得する。
具体的に、このファイルシステム読出部23は、例えば、図5に示すように、磁気ディスク2上に配置された各トラックに割り当てられているトラック番号と、当該各トラック内に配置される各セクタに割り当てられているセクタ番号と、当該トラック番号と当該セクタ番号との組み合わせによって特定される各セクタに記録されているデータが有効か否かを示す参照情報と、を関連付けたデータテーブルをファイルシステム関連情報として磁気ディスク2から読み出し、対象セクタ特定部24に出力する。
ここで、図5に示すファイルシステム関連情報においては、例えば、磁気ディスク2に記録されているデータと、当該データが記録されている位置と、を関連付けて保持するFATやHFS等の記録データ管理情報において、データが書き込まれているセクタについては、「有効」との参照情報が関連付けられる。
また、このファイルシステム関連情報においては、例えば、ホストHが起動時に読み出すOSのプログラムやファイルシステムの管理情報等に係るデータ等の上書きを禁止すべきデータが記録されている管理セクタ(いわゆるブートブロックやUNIX(登録商標)におけるスーパーブロック等)については、当該セクタにデータが書き込まれていない場合であっても、「有効」との参照情報を関連付けてもよい。
また、このファイルシステム関連情報においては、上述のブートブロック等のように誤って上書きされると不都合が生じる管理セクタ以外のセクタについては、データが書き込まれていない場合に、「無効」との参照情報が関連付けられる。
対象セクタ特定部24は、候補セクタ特定部22から受け入れた候補セクタ特定情報と、ファイルシステム読出部23から受け入れたファイルシステム関連情報と、を照合し、当該照合結果に基づいて、当該候補セクタ特定情報によって特定される各候補セクタに記録されているデータを退避させるか否かを判断して、退避させる必要があると判断された候補セクタを、対象セクタとして特定する。具体的に、この対象セクタ特定部24は、例えば、図5に示すファイルシステム関連情報において、図4に示す6つの候補セクタの各々を特定するトラック番号とセクタ番号との組に関連付けられている参照情報を参照して、当該参照情報が「有効」か否かを(すなわち、当該各候補セクタに有効なデータが書き込まれているか否か)を判断する。
そして、例えば、図6に示すように、トラック番号「N−1」とセクタ番号「S」又は「S+1」との組によって特定される2つの候補セクタについては、図5に示すファイルシステム関連情報において「有効」との参照情報が関連付けられているため、対象セクタ特定部24は、当該2つの候補セクタに書き込まれているデータは退避すべきものと判断する。
この場合、対象セクタ特定部24は、候補セクタ特定部22によって特定された6つの候補セクタのうち、データを退避すべきと判断した2つの候補セクタを、データの退避処理の対象とする対象セクタとして特定する。そして、この対象セクタ特定部24は、この特定した各対象セクタのトラック番号とセクタ番号とを関連付けた情報を、当該各対象セクタを特定する対象セクタ特定情報として生成し、退避処理部25に出力する。
一方、例えば、図6に示すように、トラック番号「N−1」とセクタ番号「S−1」との組によって特定されるセクタ、及びトラック番号「N+1」とセクタ番号「S−1」、「S」又は「S+1」との組によって特定されるセクタ、については、図5に示すファイルシステム関連情報において「有効」との参照情報が関連付けられておらず、「無効」との参照情報が関連付けられているため、対象セクタ特定部24は、当該候補セクタに書き込まれているデータは退避する必要がないと判断し、当該候補セクタを対象セクタとして特定しない。
また、この対象セクタ特定部24は、候補セクタ特定部22によって特定された候補セクタのいずれも対象セクタとして特定しなかった場合には、その旨を書込処理部26に通知する。
退避処理部25は、対象セクタ特定部24から対象セクタ特定情報を受け入れて、当該対象セクタ特定情報によって特定される対象セクタに書き込まれているデータを、当該対象セクタから読み出して、バッファ15に退避させる。
具体的に、この退避処理部25は、例えば、上述のように対象セクタ特定部24が、図4に示す6つの候補セクタのうちから、トラック番号「N−1」とセクタ番号「S」又は「S+1」との組によって特定される2つの候補セクタを対象セクタとして特定した場合には、当該特定した対象セクタに係る書込先セクタ(図4に示すトラック「N」に含まれるセクタ番号「S」のセクタ)への書込処理が実行される前に、当該2つの対象セクタに書き込まれているデータを読み出して、当該対象セクタを特定する対象セクタ特定情報と関連付けた退避データとしてバッファ15に保持する。
そして、この退避処理部25は、対象セクタに書き込まれているデータの退避処理が完了すると、当該対象セクタを特定する対象セクタ特定情報と、当該対象セクタに係る書込先セクタを特定する書込先セクタ特定情報と、を退避データ書込部28に出力するとともに、当該退避処理が完了した旨を書込処理部26に通知する。
書込処理部26は、退避処理部25又は対象セクタ特定部24からの通知に基づいて、書込先セクタに対する書込処理を行う。具体的に、この書込処理部26は、退避処理部25から退避処理が完了した旨の通知を受け入れ、又は対象セクタ特定部24からいずれの候補セクタも対象セクタとして特定しなかった旨の通知を受け入れたか否かを判断し、受け入れた場合には、当該通知に係る書込先セクタに書込データを書き込む。
一方、オフトラック判断部27は、磁気ディスク装置1において、磁気ヘッド3のオフトラックが発生したか否かの判断を行う。具体的に、このオフトラック判断部27は、例えば、書込処理部26が書込先セクタへの書込処理を実行している間、磁気ヘッド3からサーボ情報等の位置情報を取得し、当該位置情報に基づいて当該磁気ヘッド3のオフトラック量をモニタリングする。
そして、このオフトラック判断部27は、測定されるオフトラック量が予め定められたオフトラック閾値を超えるか否かを判断し、オフトラック閾値を超えた場合には、オフトラックが発生したと判断して、その旨と、当該オフトラックが発生したときの書込処理に係る書込セクタ特定情報とを退避データ書込部28に出力する。
退避データ書込部28は、オフトラック判断部27からオフトラックが発生したとの通知を受け入れると、バッファ15に保持されている退避データのうち、当該オフトラックによって上書きされた可能性がある対象セクタから退避させたデータを、当該対象セクタに書き込む。
具体的に、この退避データ書込部28は、退避処理部25から受け入れた、完了した退避処理に係る退避セクタ特定情報と、当該退避処理に係る書込先セクタ特定情報と、を関連付けた情報を退避データ管理情報として保持する。
そして、この退避データ書込部28は、オフトラック判断部27からオフトラックの発生通知を受け入れた場合には、退避データ管理情報を参照し、当該退避データ管理情報に含まれる書込先セクタ特定情報のうち、当該通知に係る書込先セクタ特定情報と一致する情報が含まれるか否かを判断する。
この判断の結果、オフトラック判断部27からの通知に係る書込先セクタ特定情報と一致する書込先セクタ特定情報が退避データ管理情報に含まれていれば、退避データ書込部28は、当該書込先セクタに関連付けられている対象セクタ特定情報を特定する。
そして、この退避データ書込部28は、バッファ15に保持されている退避データのうち、当該特定した対象セクタ特定情報に関連付けられている退避データを読み出して、オフトラック発生通知に係る書込先セクタへの書込処理が完了した後に、当該退避データを、当該対象セクタ特定情報によって特定される対象セクタに書き込む。
なお、この退避データ書込部28は、オフトラック発生通知に係る書込先セクタ特定情報が退避データ管理情報に含まれていない場合には、退避データの書込処理は行わない。
次に、この書込制御部20が行う書込処理の流れについて説明する。図7は、この書込制御部20が行う主な処理の流れを示すフロー図である。
図7に示すように、まず、書込先セクタ特定部21がホストHから書込コマンドを受け入れ(S100)、当該書込コマンドに係る書込先セクタを特定する書込先セクタ特定情報を候補セクタ特定部22に出力する。
候補セクタ特定部22は、書込先セクタ特定部21から受け入れた書込先セクタ特定情報によって特定される書込先セクタについて、隣接セクタと近傍セクタとを含む候補セクタを特定し(S101)、当該候補セクタを特定する候補セクタ特定情報を対象セクタ特定部24に出力する。
また、ファイルシステム読出部23は、磁気ディスク2からファイルシステム関連情報を読み出して(S102)、対象セクタ特定部24に出力する。
対象セクタ特定部24は、ファイルシステム読出部23から受け入れたファイルシステム関連情報を参照して、候補セクタ特定部22から受け入れた隣接セクタ特定情報によって特定される各候補セクタに有効なデータが記録されているか否かを判断する(S103)。
この処理S103において、候補セクタに有効なデータが記録されていないと判断された場合(処理S103においてNo)には、対象セクタ特定部24は当該候補セクタに記録されているデータを退避する必要がないと判断して、その旨を書込処理部26に通知する。
この場合、書込処理部26は、書込先セクタに書込データを書き込んで(S104)、処理を終了する。
一方、処理S103において、候補セクタに有効なデータが記録されていると判断された場合(処理S103においてYes)には、対象セクタ特定部24は、当該候補セクタに記録されているデータを退避させる必要があると判断し、当該候補セクタを対象セクタとして特定して、当該対象セクタを特定する対象セクタ特定情報を退避処理部25に出力する。
対象セクタ特定情報を受け入れた退避処理部25は、当該対象セクタ特定情報によって特定される対象セクタに記録されているデータを読み出してバッファ15に退避させ(S105)、当該対象セクタについてデータの退避処理が完了したことを書込処理部26に通知する。
書込処理部26は、退避処理部25から受け入れた通知に基づいて、退避処理が完了した対象セクタに係る書込先セクタに書込データを書き込む(S106)。
また、この書込処理部26による書込処理が実行されている間、オフトラック判断部27は、磁気ヘッド3のオフトラック量をモニタリングし、当該オフトラック量が予め定められたオフトラック閾値を超えるか否かを判断する(S107)。
そして、この処理S107において、オフトラック量がオフトラック閾値を超えることなく書込処理が終了した場合(処理S107においてNo)には、処理は終了する。
一方、処理S107において、オフトラック量がオフトラック閾値を超えた場合(処理S107においてYes)には、オフトラック判断部27は、オフトラックが発生したと判断し、その旨を退避データ書込部28に出力する。
オフトラック判断部27からオフトラックが生じたとの通知を受け入れた退避データ書込部28は、当該オフトラックに係る書込先セクタについて退避させていたデータをバッファ15から読み出して、当該読み出した退避データを、当該書込先セクタに係る対象セクタに書き込み(S108)、処理を終了する。
なお、本発明に係る磁気ディスク装置1は、上述の例に限られない。すなわち、候補セクタ特定部22は、図4に示すように、1つの書込先セクタに対して6つの候補セクタを特定するものに限られず、例えば、オフトラック判断部27において検出されるオフトラック量等に応じて、より広範囲の近傍セクタを特定することとしてもよい。
具体的に、この場合、候補セクタ特定部22は、例えば、オフトラック量が予め定めたオフトラック基準値よりも大きい場合には、書込先セクタが含まれるトラックの両側の隣接トラックのみならず、さらに当該隣接トラックに隣接する近傍トラックについても、当該書込先セクタと同じセクタ番号が割り当てられているセクタをも近傍セクタとして特定する。
また、候補セクタ特定部22は、例えば、書込コマンドに係る書込データの量が予め定められたデータ量閾値を超える場合、すなわち、当該書込コマンドに係る書込セクタの数が予め定められたセクタ数閾値を超える場合には、当該各書込先セクタについて特定される隣接セクタ又は近傍セクタのうち、予め定められた条件を満たすセクタのみを隣接セクタとして特定することとしてもよい。
具体的に、この場合、候補セクタ特定部22は、例えば、図8に示すように、書込コマンドによって、複数のトラックに跨る多数の書込先セクタ(図8においてトラック「N」のセクタ番号「S」からトラック「N+3」のセクタ番号「S+2」までの斜線のハッチングを施した複数のセクタ)が指定されている場合には、各書込先セクタの隣接セクタや近傍セクタのうち、当該書込コマンドによってデータの書込先として指定されているものについては、上書きされることが予定されており、データを退避させる必要はないため、候補セクタとして特定しない。
すなわち、この場合、候補セクタ特定部22は、例えば、図8に示す書込先セクタの1つであるトラック「N」上のセクタ「S」については、当該書込先セクタの外周側に隣接するトラック「N+1」上の隣接セクタ「S」は、書込先セクタとして指定されているため、候補セクタとしては特定せず、当該書込先セクタの内周側に隣接するトラック「N−1」上の隣接セクタ「S」は候補セクタとして特定する。
このようにして、候補セクタ特定部22は、複数のトラックに跨って書込先セクタが指定される場合には、各セクタ番号に係る書込先セクタのうち、最も内周側に位置する書込先セクタのさらに内周側に位置する隣接セクタ及び近傍セクタと、最も外周側に位置する書込先セクタのさらに外周側に位置する隣接セクタ及び近傍セクタと、を候補セクタとして特定する。
また、この候補セクタ特定部22は、例えば、受信した複数の書込コマンドがコマンドキューとしてバッファ15に保持されている場合には、当該コマンドキューに含まれる各書込コマンドを参照して、書込処理の対象となっている書込コマンドについて特定された隣接セクタや近傍セクタを、書込先セクタとして指定している書込コマンドがバッファ15に保持されているか否かを判断し、保持されている場合には、当該隣接セクタは当該バッファ15に保持されている書込コマンドによって上書きされる予定となっているため、データを退避させる必要はないと判断し、当該隣接セクタを候補セクタとしては特定しないこととしてもよい。
また、オフトラック判断部27は、書込処理が行われている間以外にも、例えば、読取処理が行われている間等、磁気ヘッド3が磁気ディスク2上に浮上している間の任意のタイミングでオフトラック量をモニタリングすることとしてもよい。
この場合、オフトラック判断部27は、例えば、過去に測定されたオフトラック量の平均値が予め定められた閾値を超えるか否かを判断し、書込制御部20は、当該閾値を超える場合に、上述のようなデータ退避処理を行うこととしてもよい。
また、書込制御部20は、前回読込み、ないし書込みを行ってオントラック動作を行った後の経過時間を用いてデータの退避処理を実行するか否かを決定してもよい。この決定は例えば、次のようにして行う。すなわち、この書込制御部20は、過去においてホストHから最後に書込コマンド又は読取コマンドのうち少なくとも一方を受信してからの経過時間を測定して、当該測定された経過時間が予め定められた経過時間閾値を超えるか否かを判断し、当該経過時間が当該経過時間閾値を超えた場合に、上述のデータ退避処理を実行すればよい。
この場合、書込制御部20は、例えば、読取対象とするデータが書き込まれている磁気ディスク2上のセクタの位置を指定し、当該セクタに書き込まれたデータを読み取るよう指示する読取コマンドをホストHから受け入れると、磁気ヘッド3の読取ヘッドにバイアス電流を流して当該データを読み取る処理を実行するとともに、当該読取コマンドを受信してからの時間を測定する(図示しないタイマを利用して計時すればよい)。
そして、この書込制御部20は、この読取コマンドを受信した後、経過時間閾値を超える期間にわたって、書込コマンドも読取コマンドも受け入れなかった場合には、当該経過時間閾値を超える期間の経過後に実行する書込処理(当該期間の経過前に受け入れてバッファ15に保持されていた書込コマンド又は当該期間の経過後に受け入れた書込コマンドに係る書込処理)において、上述のデータ退避処理を実行する。
1 磁気ディスク装置、2 磁気ディスク、3 磁気ヘッド、4 スピンドルモータ、5 ボイスコイルモータ、10 ハードディスクコントローラ、11 リード/ライトチャネル、12 リード/ライトアンプ、13 マイクロプロセッシングユニット、14 モータドライバ、15 バッファ、16 不揮発性メモリ、17 ワークメモリ、20 書込制御部、21 書込先セクタ特定部、22 候補セクタ特定部、23 ファイルシステム読出部、24 対象セクタ特定部、25 退避処理部、26 書込処理部、27 オフトラック判断部、28 退避データ書込部。
Claims (4)
- ホストによって作成されたファイルシステムに関する情報が記録された磁気ディスク、
データを記憶する記憶部、及び
前記ホストから書込コマンドを受信すると、当該書込コマンドによってデータの書込先として指定される書込先セクタを特定し、
当該特定した書込先セクタに対して、前記磁気ディスクの動径方向に隣接する隣接セクタを特定し、
当該特定した隣接セクタを少なくとも含む候補セクタを選択し、
当該選択した候補セクタに書き込まれているデータを前記記憶部に退避すべきか否かを、前記ファイルシステムに関する情報を参照して判断し、退避すべきと判断した候補セクタに書き込まれているデータを前記記憶部に退避して、前記特定された書込先セクタへのデータ書込を実行する書込制御部、
を備えることを特徴とする磁気ディスク装置。 - 請求項1に記載の磁気ディスク装置において、
前記書込制御部は、前記選択された候補セクタをデータの書込先として指定する書込コマンドを受信しているか否かを判断し、受信していない場合に、前記ファイルシステムに関する情報を参照して、当該候補セクタのデータを退避すべきか否かを判断する
ことを特徴とする磁気ディスク装置。 - 請求項1に記載の磁気ディスク装置において、
前記書込制御部は、磁気ヘッドのオフトラック量を測定し、当該測定されたオフトラック量が予め定められた閾値を超えるか否かを判断し、閾値を超える場合に、前記ファイルシステムに関する情報を参照して、前記選択した候補セクタのデータを退避すべきか否かを判断する
ことを特徴とする磁気ディスク装置。 - 請求項1に記載の磁気ディスク装置において、
前記書込制御部は、過去において最後に書込コマンド又は読取コマンドのうち少なくとも一方を受信してからの経過時間を測定し、当該経過時間が予め定められた閾値を越える場合に、前記ファイルシステムに関する情報を参照して、前記選択した候補セクタのデータを退避すべきか否かを判断する
ことを特徴とする磁気ディスク装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005106901A JP2006286128A (ja) | 2005-04-01 | 2005-04-01 | 磁気ディスク装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005106901A JP2006286128A (ja) | 2005-04-01 | 2005-04-01 | 磁気ディスク装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006286128A true JP2006286128A (ja) | 2006-10-19 |
Family
ID=37407876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005106901A Pending JP2006286128A (ja) | 2005-04-01 | 2005-04-01 | 磁気ディスク装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006286128A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7522366B2 (en) | 2006-11-30 | 2009-04-21 | Lenovo (Singapore) Pte. Ltd. | Preservation of hard drive data via preliminary detection of adjacent track interference potential |
US20090300466A1 (en) * | 2008-05-28 | 2009-12-03 | Fujitsu Limited | Error correction method and error correction circuit |
US7774539B2 (en) | 2007-02-07 | 2010-08-10 | Lenovo (Singapore) Pte. Ltd | Preservation of hard drive data via dynamic band boundary definition |
-
2005
- 2005-04-01 JP JP2005106901A patent/JP2006286128A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7522366B2 (en) | 2006-11-30 | 2009-04-21 | Lenovo (Singapore) Pte. Ltd. | Preservation of hard drive data via preliminary detection of adjacent track interference potential |
US7774539B2 (en) | 2007-02-07 | 2010-08-10 | Lenovo (Singapore) Pte. Ltd | Preservation of hard drive data via dynamic band boundary definition |
US20090300466A1 (en) * | 2008-05-28 | 2009-12-03 | Fujitsu Limited | Error correction method and error correction circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5143429B2 (ja) | ハイブリッドハードディスクドライブの制御方法、記録媒体、及びハイブリッドハードディスクドライブ | |
JP4733400B2 (ja) | データ保存システムでの自動データアップデート方法及びそれを利用したディスクドライブ | |
JP5681511B2 (ja) | 情報記録装置及び情報記録方法 | |
JP6419687B2 (ja) | 磁気ディスク装置、及び書き込み方法 | |
JP3946186B2 (ja) | チャンネル別特性による適応的ディフェクトスキャン処理方法及びその装置 | |
KR100464440B1 (ko) | 디스크 드라이브의 디펙트 처리 방법, 이에 적합한 기록매체 및 디스크 드라이브 | |
JP2006139902A (ja) | データ記録媒体の記録密度可変方法,それを利用したディスクドライブ,記録密度の設定方法,およびデータ記録方法 | |
US6530034B1 (en) | Method and apparatus for error recovery in a storage device | |
JP2006294231A (ja) | 記録媒体上のデータ保護方法および当該方法を実行するプログラムが記録された記録媒体 | |
KR100532411B1 (ko) | 온도에 따른 데이터 저장 시스템 제어 방법 및 장치 | |
JP4991599B2 (ja) | 磁気ディスク装置及びデータ記憶方法 | |
KR100652399B1 (ko) | 하드디스크 드라이브의 디펙트 처리 방법, 이에 적합한하드디스크 드라이브 및 기록 매체 | |
KR100459722B1 (ko) | 하드 디스크 드라이브에 데이터를 기록하는 방법 및 그제어장치 | |
JP2006185583A (ja) | 磁気ディスクのサーボパターンの記録方法,それを利用したディスクドライブ,磁気ディスクおよびコンピュータで読み取り可能な媒体 | |
US6970315B2 (en) | Method and apparatus write control in a disk drive | |
JP5787839B2 (ja) | ディスク記憶装置及びデータ保護方法 | |
JP2006286128A (ja) | 磁気ディスク装置 | |
KR100459716B1 (ko) | 디스크 드라이브에서의 서보 정보 기록/검사 방법 및 장치 | |
JP2008276873A (ja) | 情報記憶装置、記憶装置管理システムおよび記憶装置管理方法 | |
KR100524989B1 (ko) | 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브 | |
JP5331670B2 (ja) | 磁気ディスク・ドライブ及びそのリフレッシュ・ライト方法 | |
JP2004326966A (ja) | ディスク記憶装置及びシーク制御方法 | |
GB2381937A (en) | Write method for a storage system including a dummy write operation | |
JP2010146674A (ja) | 磁気ディスク装置、制御装置、制御方法 | |
KR100699877B1 (ko) | 데이터 저장 시스템에서의 디펙 섹터의 데이터 보존 방법및 이를 이용한 디스크 드라이브 |