JP5713926B2 - 磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法 - Google Patents

磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法 Download PDF

Info

Publication number
JP5713926B2
JP5713926B2 JP2012005265A JP2012005265A JP5713926B2 JP 5713926 B2 JP5713926 B2 JP 5713926B2 JP 2012005265 A JP2012005265 A JP 2012005265A JP 2012005265 A JP2012005265 A JP 2012005265A JP 5713926 B2 JP5713926 B2 JP 5713926B2
Authority
JP
Japan
Prior art keywords
data
buffer
track
lba
disk
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.)
Expired - Fee Related
Application number
JP2012005265A
Other languages
English (en)
Other versions
JP2013145617A (ja
Inventor
一仁 柏木
一仁 柏木
河辺 享之
享之 河辺
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012005265A priority Critical patent/JP5713926B2/ja
Priority to US13/551,343 priority patent/US8699163B2/en
Publication of JP2013145617A publication Critical patent/JP2013145617A/ja
Application granted granted Critical
Publication of JP5713926B2 publication Critical patent/JP5713926B2/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
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • G11B5/09Digital recording
    • 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/10527Audio or video recording; Data buffering arrangements
    • 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/54Disposition 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 into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • G11B5/553Details
    • G11B5/5547"Seek" control and circuits therefor
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明の実施形態は、磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法に関する。
一般に、磁気ディスク装置では、記憶媒体に磁気ディスク(つまり、ディスク状の磁気記憶媒体)が用いられる。この磁気ディスク装置において、データは磁気ディスク上に同心円状に磁気ヘッドによってライトされる。
近年の磁気ディスク装置では、記録密度の一層の向上のために、狭トラックピッチ化が進められている。このような磁気ディスク装置では、ヘッド(磁気ヘッド)がディスク(磁気ディスク)上の目標トラックの目標位置から少しずれても、当該ヘッドは当該目標トラック(以下、第1のトラックと称する)と隣接トラック(以下、第2のトラックと称する)との境界に近付く。このようにヘッドがトラック境界に近接している状況では、第1のトラックからだけでなく第2のトラックからもヘッドによって同時にデータがリードされる可能性がある。このような事象は、トラック間干渉(Inter-track interference:ITI)と呼ばれる
一方、磁気ディスク装置では、例えば瓦リード(shingled reading)に代表されるシーケンシャルリードが頻繁に発生する。シーケンシャルリードでは、ディスク上の連続するトラック群からデータがシーンシャルにリードされる。このシーケンシャルリードにより、第2のトラックからのデータリードに続いて第1のトラックからのデータリードが実行されるものとする。
先行技術では、第2のトラックからリードされた第2のデータ(より詳細には、トラック間干渉を受けていない、或いはトラック間干渉がキャンセルされた第2のデータ)は、バッファに格納される。先行技術によれば、第1のトラックからリードされた第1のデータがトラック間干渉を受けていても、当該トラック間干渉がバッファ内の第2のデータに基づいてキャンセルされる。
特許第3640585号公報
上記したしたように先行技術では、トラック間干渉のキャンセルのために、シーケンシャルリードにおいて時間的に先にリードされたトラックのデータがバッファに格納される。
しかし、シーケンシャルリードにおいてリードされた全てのトラックのデータをバッファに格納しておくことは、バッファの記憶容量の増加を招く。このため、トラック間干渉のキャンセルを実現しながら、バッファの記憶容量(より詳細には、バッファに用いられるメモリの容量)を低減することが要求されている。
また、トラック間干渉の要因となったヘッドの位置ずれ(例えば予期せぬ位置ずれ)は、瓦ライト(shingled writing)に代表されるシーケンシャルライト時にも発生する。このような場合、隣接トラックへのデータの上書きが発生する。このとき、上書きにより書き換えられる直前のデータ(既ライトデータ)がバッファに格納されているならば、この既ライトデータを上書きが発生した領域に再ライトすることにより、当該領域を上書き発生直前の状態に復旧できる。このため、シーケンシャルライトにおけるヘッドの予期せぬ位置ずれに伴う再ライトを実現するためにも、バッファは必要である。そこで、シーケンシャルライトにおいても、バッファの記憶容量を低減することが要求される。
本発明が解決しようとする課題は、シーケンシャルライトに伴うライトデータ、またはシーケンシャルリードに伴うリードデータを一時格納するためのバッファの記憶容量を低減できる磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法を提供することにある。
実施形態によれば、ディスク上に同心円状にデータがヘッドにより1周当たり時間T1でI1ビットライトされる、または前記ディスク上に同心円状にライトされたデータが前記ヘッドにより1周当たり前記時間T1で前記I1ビットリードされ、且つ隣接トラックに前記ヘッドを移動してから前記ヘッドによるライトまたはリードを開始するまでに前記時間T1よりも短い整定時間T2を要する磁気ディスク装置において、前記ディスクにシーケンシャルにライトされたデータまたは前記ディスクからシーケンシャルにリードされたデータを一時的にバッファに格納するデータバッファリング方法が提供される。前記方法は、前記ディスク上の第1のトラックの第1の領域の前記ディスク上の方位角の第1の範囲が、前記シーケンシャルライトにおける前記第1の領域への第1のデータのライトまたは前記シーケンシャルリードにおける前記第1の領域からの第2のデータのリードの後から前記ディスクの1周回が経過するまでの期間における前記整定時間T2中に前記ヘッドが走行する前記ディスク上の方位角の第2の範囲に対応するかに基づいて、前記第1のデータまたは前記第2のデータのデータタイプが、第1のタイプまたは第2のタイプのいずれであるかを判別できる。前記方法はまた、前記第1のデータまたは前記第2のデータを前記判別されたデータタイプに関連付けて前記バッファに格納することができる。前記方法は更に、前記バッファに格納された前記第1のタイプのデータが前記バッファに前記時間T1の2倍の時間だけ保持され、前記バッファに格納された前記第2のタイプのデータが前記バッファに前記時間T1 だけ保持されるように、前記バッファを制御することができる。
実施形態に係る磁気ディスク装置の典型的な構成を示すブロック図。 図1に示されるディスク上の3つのトラックにデータをシーケンシャルにライトする際における、トラック毎の典型的なライト開始位置及びライト終了位置を示す図。 図2に示すシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスと対応付けて示す模式図。 同実施形態で適用される、シーケンシャルライトにおけるディスクの1周回分の既ライトデータのバッファリングの定義を説明するための模式図。 同実施形態において第2のタイプのデータに基づく再ライトが可能な上書き発生の典型的な事例を説明するための図。 図5に示す事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスと対応付けて示す模式図。 同実施形態において第2のタイプのデータに基づく再ライトが不可能な上書き発生の典型的な事例を説明するための図。 図7に示す事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスと対応付けて示す模式図。 同図(a)は同実施形態で適用される第1のタイプのデータの定義を説明するための模式図、同図(b)は同実施形態で適用される第1のタイプのデータ及び第2のタイプのデータの定義を説明するための模式図。 同図(a)及び(b)はいずれも同実施形態で適用される第1のタイプのデータ及び第2のタイプのデータのデータ量を説明するための模式図。 同実施形態で適用されるシーケンシャルライトの典型的な手順を説明するためのフローチャート。 同実施形態の変形例で適用されるシーケンシャルライトの典型的な手順を説明するためのフローチャート。 同本実施形態で適用されるシーケンシャルリードの典型的な手順を説明するためのフローチャート。 同実施形態の変形例で適用されるシーケンシャルリードの典型的な手順を説明するためのフローチャート。
以下、実施の形態につき図面を参照して説明する。
図1は一つの実施形態に係る磁気ディスク装置の典型的な構成を示すブロック図である。
図1に示す磁気ディスク装置は、ディスク(磁気ディスク)11と、ヘッド(磁気ヘッド)12と、スピンドルモータ(SPM)13と、アクチュエータ14と、ドライバIC15と、ヘッドIC16と、バッファ17と、コントロールユニット20とを備えている。
ディスク11は磁気記録媒体である。ディスク11は上側と下側の2つのディスク面を有している。ディスク11の例えば上側のディスク面は、データが磁気記録される記録面をなしている。ディスク11の記録面(記録領域)は、例えば同心円状のトラック群を備えている。トラック群のそれぞれはセクタ群を備えている。セクタ群には、それぞれ固有の物理アドレスが割り当てられる。物理アドレスが割り当てられるセクタ群は、ユーザセクタ群を含む。ユーザセクタ群には、それぞれ論理アドレス(論理ブロックアドレス)LBAが割り当てられる。
ヘッド(ヘッドスライダ)12はディスク11の記録面に対応して配置される。ヘッド12は、図示せぬライト素子及びリード素子を備えている。ヘッド12(より詳細には、ライト素子及びリード素子)は、ディスク11へのデータのライト及びディスク11からのデータのリードに用いられる。
図1の構成では、単一枚のディスク11を備えた磁気ディスク装置を想定している。しかし、ディスク11が複数枚積層配置された磁気ディスク装置であっても構わない。また、図1の構成では、ディスク11の一方の面が記録面をなしている。しかし、ディスク11の両面がいずれも記録面をなし、両記録面にそれぞれ対応してヘッドが配置されても構わない。
ディスク11はSPM13によって高速に回転させられる。SPM13は、ドライバIC15から供給される駆動電流(または駆動電圧)により駆動される。ヘッド(ヘッドスライダ)12は、アクチュエータ14のアーム141の先端に取り付けられている。ヘッド12は、ディスク11が高速に回転することにより当該ディスク11上で浮上する。アクチュエータ14は、当該アクチュエータ14の駆動源となるボイスコイルモータ(VCM)142を有している。ヘッド12は、アクチュエータ14がVCM142によって駆動されることにより、ディスク11上を当該ディスク11の半径方向に、円弧を描くように移動する。
ドライバIC15は、コントロールユニット20(より詳細には、コントロールユニット20内の後述するサーボコントローラ22)の制御に従い、SPM13とVCM142とを駆動する。ヘッドIC16はヘッドアンプとも呼ばれており、ヘッド12によりリードされた信号(つまりリード信号)を増幅する。ヘッドIC16はまた、コントロールユニット20(より詳細には、コントロールユニット20内の後述するR/Wチャネル21)から出力されるライトデータをライト電流に変換してヘッド12に出力する。
バッファ17は、コントロールユニット20(より詳細には、コントロールユニット20内の後述するHDC22)の制御によってディスク11にライトされるデータ及びディスク11からリードされるデータを一時格納するのに用いられる。本実施形態において、バッファ17はバッファ17A及び17Bの2つのバッファから構成される。
コントロールユニット20は、例えばマイクロプロセッサユニット(MPU)を含む複数の要素が単一チップに集積されたシステムLSIによって実現される。コントロールユニット20は、リード/ライトチャネル(R/Wチャネル)21と、ディスクコントローラ(以下、HDCと称する)22と、サーボコントローラ23とを備えている。
R/Wチャネル21は、リード/ライトに関連する信号処理を行う。即ちR/Wチャネル21は、ヘッドIC16によって増幅されたリード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。R/Wチャネル21はまた、上記デジタルデータからサーボデータを抽出する。R/Wチャネル21はまた、HDC22から転送されるライトデータを符号化し、この符号化されたライトデータをヘッドIC16に転送する。
HDC22は、ホストインタフェースを介してホスト(ホストデバイス)と接続されている。ホストは、図1に示される磁気ディスク装置を自身のストレージ装置として利用する。ホスト及び図1に示される磁気ディスク装置は、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、携帯電話機、或いはプリンタ装置のような電子機器に備えられている。
HDC22は、当該HDC22とホストとの間で信号を授受するホストインタフェースコントローラとして機能する。具体的には、HDC22は、ホストから転送されるコマンド(ライトコマンド、リードコマンド等)を受信する。HDC22はまた、ホストと当該HDC22との間のデータ転送を制御する。HDC22はまた、R/Wチャネル21、ヘッドIC16及びヘッド12を介してディスク11へのデータのライト及びディスク11からのデータのリードを制御するディスクインタフェースコントローラとしても機能する。HDC22は、バッファコントローラ221及び判別モジュール222を備えている。バッファコントローラ221及び判別モジュール222の機能については後述する。
サーボコントローラ23は、ドライバIC15を介してSPM13及びVCM142を制御する。特にサーボコントローラ23は、ヘッド12をディスク11上の目標トラックの目標位置に位置決めするために、ドライバIC15を介してVCM142を制御する。サーボコントローラ23は、ヘッド12の目標トラック上の目標位置からの位置ずれの量(位置誤差)を検出する周知の検出器230を備えている。
次に、本実施形態で適用されるディスク11上のトラック配置を示すディスクフォーマットとシーケンシャルライトとの関係の例について、図2を参照して説明する。
図2はディスク11上の3つのトラックX,X+1,X+2にデータをシーケンシャルにライトする際における、トラック毎の典型的なライト開始位置及びライト終了位置を示す。
図2において、矢印Aはディスク11の回転方向を示す。本実施形態では、ディスク11の1周回に要する時間はT1[s]である。
図2の例では、データはトラックX、トラックX+1及びトラックX+2の順に(つまり、ディスク11の半径方向に一方向に)シーケンシャルにライトされる。X,X+1及びX+2は、トラックX、トラックX+1及びトラックX+2のトラック番号(シリンダアドレス)を示すものとする。このシーケンシャルライトにおいて、ヘッド12を次のトラックに移動するためのシーク動作毎に、ヘッド移動及びヘッド位置決め(つまりシーク・位置決め)のための整定時間T2[s]が必要になる。このため、トラックX,X+1,X+2のライト開始位置の円周上の相対位置(つまり方位角)は同一ではなく、T2/T1[周]ずつ徐々にずれる。ここで、T1[s]及びT2[s]との間には、0<T2<T1の関係がある。つまりT2[s]は、ゼロよりも大きく且つT1[s]未満である。
図2の例では、データのライトは、まずトラックX上の位置001(より詳細には、トラックX上の位置001のセクタ)から開始され、位置002を経由して位置003まで実行される。次に、矢印A01で示すように、ヘッド12がトラックXからトラックX+1に移動され、当該トラックX+1の目標位置に位置付けられる。このシーク・位置決めのための整定時間(第1の整定時間)T2[s]を経た後、後続のデータライトが、トラックX+1上の位置101から、位置102を経由して位置103まで実行される。そして、矢印A12で示されるように更なるシーク・位置決めのための整定時間(第2の整定時間)T2[s]を経た後、後続のデータライトが、トラックX+3上の位置201から位置203近傍まで実行される。このように図2の例では、ディスク11は、当該ディスク11の半径方向に一方向にシーケンシャルにデータが記録される領域を有する。
次に、本実施形態で適用されるシーケンシャルライトにおけるトラック上のライト位置と論理アドレスとの関係の例について、図3を参照して説明する。
図3は、図2に示すシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスLBAと対応付けて示す模式図である。
図3において、縦軸はディスク11の半径方向を示し、当該縦軸の下方向(つまり矢印31の方向)は、ディスク11の内周に向かう半径方向を示す。図3において、横軸はディスク11の円周方向を示し、当該横軸の右方向(つまり矢印32の方向)は、ディスク11の回転方向(角度方向)を示す。なお、図3では、同心円状の各トラックが、作図の都合で直線状に(つまり模式的に)描かれている。
図3に示す例では、トラック群がそれぞれ備えるセクタの数は同一である。ここでは、1トラック当たりのセクタの数は、作図の都合で、16進表現で0F(0x0F)、10進表現で16(0d16)であるものとする。なお、CDR(constant density recording)を適用する磁気ディスク装置のように、ディスク12の外周側のトラック(より詳細には、外周側のゾーン内のトラック)が、内周側のトラック(より詳細には、内周側のゾーン内のトラック)よりも、多くのセクタを備えていても構わない。
図3において、トラック群の各セクタには、当該セクタのセクタ番号として、当該セクタに割り当てられている論理アドレスLBAが表記されている。また、図2に示す位置001〜003,101〜103,201及び203にそれぞれ対応するセクタには、当該位置が括弧内に表記されている。1セクタ(1論理アドレスLBA)当たりのデータ量は、Lビットであるものとする。
トラックX,X+1,X+2に対するシーケンシャルライトは、図2を参照しての説明からも明らかなように、次のように実行される。まずデータのライトは、トラックX上のLBA:00(位置001)のセクタから開始され、LBA:02(位置002)のセクタを経由してLBA:0F(位置003)のセクタまで実行される。次に、矢印A01で示されるように第1の整定時間T2[s]を経た後、後続のデータライトが、トラックX+1上のLBA:10(位置101)のセクタからLBA:12(位置102)のセクタを経由してLBA:1F(位置103)のセクタまで実行される。そして、矢印A12で示されるように更なる第2の整定時間T2[s]を経た後、後続のデータライトが、トラックX+2上のLBA:20(位置201)のセクタから開始され、最終的にLBA:2F(位置203)のセクタ近傍まで実行される。
図3の例では、1トラックあたりのデータ量I1は16セクタ分、つまり16Lビットである。一方、第1及び第2の整定時間T2[s]にそれぞれ相当するデータ量I2は3セクタ分、つまり3Lビットである。
図4は、本実施形態で適用される、シーケンシャルライトにおける1周回分の既ライトデータのバッファリングの定義を説明するための模式図である。図4は、同図において下線が付されているLBA:1Aのセクタへのデータライトが実行されている時点におけるバッファリングの状態を、トラック上のライト位置及び論理アドレスLBAと対応付けて示す。具体的には、図4において斜体字で表されるLBAの位置のセクタ群(つまり13セクタ)にライトされたデータが、データAとして、図1に示されるバッファ17に時間T1[s]だけ一時的に格納される。
この13セクタは、トラックX上のLBA:0Dの位置からLBA:0Fの位置(図2の位置003)までの3セクタと、トラックX+1上のLBA:10の位置(図2の位置101)からLBA:19の位置(つまり、現在ライト中のLBA:1Aの位置の直前)までの10セクタとからなる。ここで、LBA:0Dの位置へのデータライトを開始してから、LBA:19の位置へのデータライトが完了するまでに要する時間は、ディスク11の1周回に要する時間T1[s]に一致する。時間T1[s]は、矢印A01で示される第1の整定時間T2[s]を含む。
本実施形態では、バッファ17に一時格納されるデータは、上述のデータAと、データBとの2つのタイプに分類される。データAのタイプをタイプA(第2のタイプ)と呼び、データBのタイプをタイプB(第1のタイプ)と呼ぶ。
データAは、上述のように、現在ライト中のデータに先行して、時間T1[s]の期間(つまりディスク11の1周回に対応する期間)にシーケンシャルにライトされたデータである。データAは、バッファ17に時間T1[s]の期間格納される。これに対してデータBは、バッファ17に時間2T1[s]の期間格納される。つまりデータBは、データAよりも2倍長い期間バッファ17に格納される。この理由と、データBの定義とについては後述する。
次に、バッファ17に格納されているデータ(既ライトデータ)Aに基づく再ライトについて図5及び図6を参照して説明する。
データA(第2のタイプのデータ)に基づく再ライトは、ヘッド12の予期せぬ一時的な位置ずれにより、目標トラックに隣接するトラックの一部領域にヘッド12によりデータが上書きされる場合に行われる。
図5は、本実施形態においてデータAに基づく再ライトが可能な上書き発生の典型的な事例(以下、第1の事例と称する)を説明するための図である。
図5においてシーケンシャルライトは、次のように実行される。まずデータのライトは、トラックX上の位置001から開始され、位置002を経由して位置003まで実行される。次に、矢印A01で示されるように第1の整定時間T2[s]を経た後、後続のデータライトが、トラックX+1上の位置101から位置102を経由して実行される。ここまでは、図2の例と同様である。
ここで、トラックX+1上の位置104へのデータライト中に、予期せぬ外乱により、図5に示すようにヘッド12の位置ずれが発生したものとする。図5の例では、この位置ずれにより、トラックX+1に隣接するトラックX上の位置004への上書きが発生している。
図6は、図5に示す第1の事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスLBAと対応付けて示す模式図である。
図6において、位置ずれが発生したトラックX+1上の位置104は、下線が付されているLBA:15のセクタに対応し、このLBA:15(位置104)のセクタにライトされるべきデータが上書きされたトラックX上の位置004はLBA:08のセクタに対応する。図6はLBA:15(位置104)のセクタへのデータライトが実行されている時点におけるバッファリングの状態をも示す。具体的には、図6において斜体字で表される、LBA:08からLBA:14までの範囲の13セクタにライトされたデータが、データAとして、図1に示されるバッファ17に格納されている。
このため、上書きされたLBA:08(位置004)のセクタのデータ(既ライトデータ)はバッファ17内に存在する。この場合、このバッファ17内の既ライトデータを、LBA:08(位置004)のセクタに再ライトすることが可能である。つまり、LBA:15(位置104)のセクタにライトされるべきデータが上書きされたLBA:08(位置004)のセクタを、上書きの発生直前の状態に復旧することが可能である。
そこでHDC22は次の手順を適用する。まずHDC22は、バッファ17に格納されているLBA:08のセクタの既ライトデータを、トラックX上の位置004に再度ライトする。しかる後にHDC22は、トラックX+1上の位置104からLBA:15以降のデータライトを再開する。
次に、データAに基づく再ライトが不可能な上書き発生の事例(以下、第2の事例と称する)について図7及び図8を参照して説明する。
図7は、前記第2の事例を説明するための図である。
図7においてシーケンシャルライトは、次のように実行される。まずデータのライトは、図2の例と同様に、トラックX上の位置001から開始され、トラックX+1上の位置103まで実行される。そして、図2の例と同様に、矢印A12で示されるように第2の整定時間T2[s]を経た後、後続のデータライトが、トラックX+2上の位置201から実行される。その後、図2の例とは異なり、トラックX+2上の位置203の直前の位置205へのデータライト中に、予期せぬ外乱により、図7に示すようにヘッド12の位置ずれが発生したものとする。図7の例では、この位置ずれにより、トラックX+2に隣接するトラックX+1上の位置105への上書きが発生している。
図8は、図7に示す第2の事例におけるシーケンシャルライトの状況を、トラック上のライト位置及び論理アドレスLBAと対応付けて示す模式図である。
図8において、位置ずれが発生したトラックX+2上の位置205は、下線が付されているLBA:2Eに対応し、このLBA:2E(位置205)のセクタにライトされるべきデータが上書きされたトラックX+1上の位置105はLBA:11に対応する。図8はLBA:2E(位置205)のセクタへのデータライトが実行されている時点におけるバッファリングの状態をも示す。具体的には、図8において斜体字で表された、LBA:20からLBA:2Dまでの範囲の14セクタにライトされたデータが、データAとして、図1に示されるバッファ17に格納されている。
しかしながら、上書きされたLBA:11(位置105)のセクタのデータは、バッファ17内に存在しない。その理由は、LBA:11(位置105)のセクタのデータは、現在の時点t0から時間T1[s]よりも長い時間T3[s]前の時点t2でライトされたデータであり、したがってデータAの定義に該当しないためである。時間T3[s]は例えば時間T1[s]の2倍、即ち2T1[s]である。
バッファ17内のデータについて、詳細に説明する。まず、時点t0から時間T1[s]前の時点がt1であるものとする。この場合、LBA:20からLBA:2Dまでの範囲の14セクタのデータは、時点t1から時点t0までの期間(t0−t1)、つまりディスク11の1周回の時間T1[s]にライトされたデータである。このため、LBA:20からLBA:2Dまでの範囲のデータは、データAの定義に該当することから、バッファ17に存在する。
これに対し、LBA:11(位置105)のセクタのデータは、時点t1から時点t0までの1周回の時間T1[s]内にライトされたデータではない。更に具体的に述べるならば、LBA:11(位置105)のセクタのデータは、矢印A01で示されるシーク・位置決めを経てLBA:10(位置101)のセクタにデータがライトされた直後にライトされたデータである。つまり、LBA:11(位置105)のセクタのデータは、時点t0から時間2T1[s](2T1=T3)前の時点t2にライトされたデータである。このため、LBA:11(位置105)のセクタのデータは、バッファ17に格納される期間(つまり保持期間)がT1[s]であるデータAではなく、バッファ17から既にパージされている。したがってLBA:11(位置105)のセクタへの再ライトは不可能でる。このように、データAのみをバッファ17に一時格納しているだけでは、再ライトが不可能な上書きが発生する可能性がある。
そこで、データAでは再ライトが不可能な上書きが発生しても、当該再ライトを可能とするためには、バッファ17におけるデータの保持期間をT1[s]から、例えば2T1[s](つまりT3[s])にすればよい。しかし、全てのデータの保持期間を2T1[s]にすることは、バッファ17の容量の増大を招く。そこでバッファ17に一時格納されるデータが、前述したように、データAとデータBとの2つのタイプに分類される。本実施形態では、データAの保持期間はT1[s]であるのに対し、データBの保持期間は2T1[s]である。
以下、データB(及びデータA)について、図9を参照して説明する。
図9(a)は本実施形態で適用されるデータBの定義を説明するための模式図、図9(b)は本実施形態で適用されるデータA及びBの定義を説明するための模式図である。
図9(a)は、図8と同様に、下線が付されているLBA:2E(位置205)のセクタへのデータライトが実行されている時点t0におけるバッファリングの状態をも示す。ここでは、図9(a)において2重下線が付されているLBA:11からLBA:2Dまでの範囲の29セクタにライトされたデータがバッファ17に格納されているものとする。
ここで、データBを、保持期間が2T1[s]である既ライトデータを指すものと仮に定義する。LBA:11は、現時点t0から時間2T1[s]前の時点t2にデータがライトされた位置(セクタ)を示す。また、LBA:2Dは、現在実行中のデータライトの直前にデータがライトされた位置を示す。このため、LBA:11からLBA:2Dまでの範囲の29セクタにライトされたデータはデータB(より詳細には、データBの仮の定義)に該当し、現在バッファ17に格納されている。つまり、LBA:11(位置105)のセクタにライトされたデータは、データBに含まれている。この場合、現在実行中のLBA:2E(位置205)のセクタへのデータライトにより、隣接するLBA:11(位置105)のセクタにデータが上書きされたとしても、当該LBA:11のセクタにバッファ17内の対応する既ライトデータを再ライトすることが可能である。この再ライトにより、LBA:11のセクタを、上書きの発生直前の状態に復旧することが可能である。
しかしながら、上述のデータBの仮の定義に従い、LBA:11からLBA:2Dまでの範囲の29セクタにライトされたデータ(つまり、ディスク11の2周回に相当するデータ)をバッファ17に保持するとなると、当該バッファ17の容量として、ほぼ2トラックのデータ量に相当する量を必要とする。ここで、例えば今日における磁気ディスク装置の外周側2トラック当たりのデータ量は、2.5インチ型装置でおよそ2.5メガバイト(MB)、3.5インチ型装置でおよそ5MBである。一方、バッファ17として利用されるメモリ、例えばDRAMの容量は8乃至64MB程度である。このため、上述したようなバッファ17に要求される容量は、決して無視できない。したがって、バッファ17に格納されるべきデータの量の適正化を検討・実施することは非常に価値があり、恩恵が大きい。
そこで図9(a)を参照すると、トラックX+2上のLBA:20からLBA:2Cまでの範囲の13セクタへのデータのライトは、隣接するトラックX+1上のLBA:13からLBA:1Fまでの範囲の13セクタへの上書きを発生し得る。しかし、現時点t0(つまり、LBA:2Eのセクタへのデータライト中の時点t0)において、LBA:20からLBA:2Cまでの範囲の13セクタへのデータのライトは既に終了している。このため、LBA:13からLBA:1Fまでの範囲の13セクタへの上書きが新たに発生するおそれはない。このことから、LBA:13からLBA:1Fまでの範囲の13セクタにライトされたデータを、少なくとも現時点t0においてバッファ17に保持しておく必要がないことがわかる。
少なくとも現時点t0においてバッファ17に保持されている必要のあるトラックX+1上のセクタ群のデータは、現在実行中のLBA:2Eのセクタへのデータライトによって上書きが発生し得るLBA:11のセクタと、次に実行されるLBA:2Fのセクタへのデータライトによって上書きが発生し得るLBA:12のセクタとの2つである。よって、トラックX+1上の全てのセクタにライトされたデータを、データBとして時間2T1[s]の間保持する必要は必ずしもない。より詳細に述べるならば、「ディスク11上へのデータのライト期間中にヘッド12が走行した方位角の範囲(第1の範囲)が、当該ライト後時間T1[s](つまり、ディスク11の1周回に要する時間)経過するまでの期間に発生するシーク・位置決めのための整定時間にヘッド12が走行する方位角の範囲(第2の範囲)から外れている」という条件(以下、第2の条件と称する)に合致するセクタの既ライトデータは、データAとして時間T1[s]の間だけ保持されればよい。ヘッド12の「走行」とは、ディスク11の回転によってヘッド12が位置する当該ディスク11上の円周方向の位置がPaからPbに変化すること、つまりヘッド12のディスク11に対する相対的な走行を指す。「ヘッド12が走行した方位角」とは、ヘッド12が走行したディスク11上の円周方向の角度、より詳細には、ディスク11の中心OとPa及びPbとをそれぞれ結ぶ線分OPa及びPPbのなす角度を指す。
ここで、トラックX+2上のLBA:2Eのセクタへのデータライト中の場合を例にとる。この場合、隣接するトラックX+1上のセクタ群のうち、矢印A12で示される最新のシーク・位置決めのための第2の整定時間にヘッド12が走行する方位角の範囲から外れている、LBA:13からLBA:1Fまでの範囲の13セクタは、前記第2の条件に合致する。そこで、LBA:13からLBA:1Fまでの範囲の13セクタにライトされたデータを、データBとせずにデータAとしてバッファリングしてもよい。このようなバッファリングを適用した状態で、たとえトラックX+2上のLBA:20からLBA:2Cまでの範囲内の第1のセクタへのデータのライトで、LBA:13からLBA:1Fまでの範囲内の対応する第2のセクタへの上書きが発生しても、当該第2のセクタを上書きの発生直前の状態に復旧することが可能である。また、上述のバッファリングにより、バッファ17におけるセクタ毎の平均的なデータ保持期間が減少すれば、当該バッファ17の容量(バッファ容量)を低減させることができる。
次に、上述のバッファ量を低減させる技術について、図9(b)を参照して更に詳細に説明する。
図9(b)は図9(a)と同様に、トラックX+2上の下線が付されているLBA:2E(位置205)のセクタへのデータライトが実行されている時点t0におけるバッファリングの状態をも示す。図9(b)において、トラックX+2上の斜体字で表されたLBA:23からLBA:2Dまでの範囲の11セクタにライトされたデータが、「保持期間がT1[s]」の「既ライトデータ」であり、且つ前記第2の条件に合致する範囲のセクタにライトされたデータAである。
また図9(b)において、トラックX+2に隣接するトラックX+1上の2重下線が付されたLBA:11からLBA:12までの範囲の2セクタにライトされたデータが、「保持期間が2T1[s]」の「既ライトデータ」であり、且つ第1の条件に合致する範囲のセクタにライトされたデータBである。同様に、トラックX+2上の2重下線が付されたLBA:20からLBA:22までの範囲の3セクタにライトされたデータも、「保持期間が2T1[s]」の「既ライトデータ」であり、且つ第1の条件に合致する範囲のセクタにライトされたデータBである。つまり、データBの定義に、新たに第1の条件が追加されている。
第1の条件とは、「ディスク11上へのデータのライト期間中にヘッド12が走行した方位角の範囲(第1の範囲)の一部または全部が、当該ライト後時間T1[s](つまり、ディスク11の1周回に要する時間)経過するまでの間に発生するシーク・位置決めのための整定時間にヘッド12が走行する方位角の範囲(第2の範囲)に含まれる」という条件である。このため、上記LBA:11からLBA:12までの範囲は、図9(b)において矢印A12で示される第2の整定時間にヘッド12が走行した方位角の範囲に対応しており、したがって第1の条件に合致する。ここで第2の整定時間は、トラックX+1からトラックX+2にヘッド12を移動して当該ヘッド12をトラックX+2上の目標位置に位置決めするのに要した時間である。同様に、上記LBA:20からLBA:22までの範囲は、図9(b)において矢印A23で示される第3の整定時間にヘッド12が走行した方位角の範囲に対応しており、したがって第1の条件に合致する。
図9(b)を参照して説明したデータA及びBがバッファ17に格納されている状態で、LBA:2E(位置205)のセクタへのデータライト中のヘッド12の予期せぬ位置ずれにより、LBA:11(位置105)のセクタへの上書きが発生したものとする。このとき、LBA:11のセクタにライトされたデータはバッファ17に存在する。よって、このバッファ17に存在する既ライトデータをLBA:11のセクタに再ライトすることができ、LBA:11のセクタを上書きの発生直前の状態に復旧することが可能である。更にこの場合、図9(a)の例では29セクタに相当する量のデータの保持が必要であったものが、16セクタに相当する量のデータの保持で済むので、バッファ17の容量を低減でき、効率的である。
ここで、図9(b)に加えて、図10を参照して、データA及びBのデータ量について説明する。図10(a)及び同図(b)は、いずれも本実施形態で適用されるデータA及びBのデータ量を説明するための模式図である。
まず、図10(a)においてデータライト中のセクタは、トラックX+1上の下線が付されているLBA:15のセクタである。このLBA:15のセクタへのデータライトが実行されている時点では、データAは、トラックX上の斜体字で表されたLBA:08からLBA:0Fまでの範囲、及びトラックX+1上の斜体字で表されたLBA:13からLBA:14までの範囲の10セクタにライトされたデータとなる。ここでは、1セクタ当たりのデータ量はLビットであることから、データAのデータ量は10Lビットである。一方、データBは、トラックX上の2重下線が付されたLBA:00からLBA:02の範囲、及びトラックX+1上のLBA:10からLBA:12の範囲の6セクタにライトされたデータとなる。データBのデータ量6Lビットである。
前述したように、1トラックあたりのデータ量I1は16Lビットであり、整定時間T2[s]に相当するデータ量I2は3Lビットである。したがって、データAのデータ量は“I1−2I2”であり、データBのデータ量は“2I2”である。
次に、図10(b)においてデータライト中のセクタは、トラックX+2上の下線が付されているLBA:20(位置201)のセクタである。このLBA:20のセクタへのデータライトが実行されている時点では、データAは、トラックX+1上の斜体字で表されたLBA:13からLBA:1Fまでの範囲の13セクタにライトされたデータとなる。このデータAのデータ量は13Lビットである。一方、データBは、トラックX+1上の2重下線が付されたLBA:10からLBA:12までの範囲の3セクタにライトされたデータとなる。このデータBのデータ量は3Lビットである。この場合、図10(a)の例とは異なり、データAのデータ量は“I1−I2”となり、データBのデータ量は“I2”となる。
また、前述したように、図9(b)においてデータライト中のセクタは、トラックX+2上のLBA:2E(位置205)のセクタである。このLBA:2Eのセクタへのデータライトが実行されている時点では、データAは、LBA:23からLBA:2Dまでの範囲の11セクタにライトされたデータである。このデータAのデータ量は11Lビットである。一方、データBは、LBA:11からLBA:12までの範囲、及びLBA:20からLBA:22までの範囲の5セクタにライトされたデータである。このデータBのデータ量は5Lビットである。この場合、データAのデータ量は“I1−I2+1”となり、データBのデータ量は“2I2−1”となる。
このように、本実施形態で適用されるデータA及びBのデータ量は時々刻々と変化するが、全ての時点で、データAのデータ量は(I1−I2)ビット以下、データBのデータ量は2I2ビット以下である。更に、全ての時点で、データAのデータ量とデータBのデータ量の和はI1ビットである。
次に、本実施形態で適用されるシーケンシャルライトの典型的な手順について、図11のフローチャートを参照して説明する。ここでは、論理アドレスLBAがXS(LBA:XS)からXE(LBA:XE)の範囲に対応するディスク11上のセクタ群にデータをシーケンシャルにライトするものとする。XSはライト開始データアドレスでありXEはライト終了データアドレスである。また、シーケンシャルライトは、例えば図2の例のように、トラック番号が増加する方向に実行されるものとする。
まずHDC22は、ライトデータアドレスを指すポインタX(LBA:X)をXSに初期設定する(ステップ1100)。次にHDC22は、ディスク11上のLBA:Xのセクタに、R/Wチャネル21を介してヘッド12によりデータDXをライトする(ステップ1101)。ここで、LBA:Xのセクタが、トラックX上に存在し、且つディスク11の半径方向でLBA:Yのセクタに隣接するものとする。
HDC22は、ステップ1101を実行すると、LBA:Xのセクタへのデータライト中に、隣接するLBA:Yのセクタへのデータの上書きが発生したか(より詳細には、上書きが発生した可能性があるか)を判定する(ステップ1102)。本実施形態においてHDC22は、ヘッド12の隣接するLBA:Yのセクタ側への基準値を超す予期せぬ位置ずれがサーボコントローラ23の検出器230により検出されたことをもって、HDC22は当該LBA:Yのセクタへのデータの上書きが発生したと判定する。
ここでは、隣接セクタへの上書きは発生していないものとする(ステップ1102のNo)。この場合、HDC22の判別モジュール222は、LBA:Xのセクタが、次にヘッド12をトラックXからトラックX+1に移動して当該ヘッド12を当該トラックX+1上の目標位置に位置決めするのに要する整定時間に対応するかを判定する(ステップ1103)。「LBA:Xのセクタが整定時間に対応する」とは、「LBA:Xのセクタ」が前述した第1の条件に合致することを指す。
もし、ステップ1103での判定が「No」であるならば、HDC22のバッファコントローラ221はバッファ17Aが満たされているかを判定する(ステップ1104)。ステップ1104での判定が「Yes」であるならば、HDC22のバッファコントローラ221はバッファ17A内の最古のセクタデータをパージして(ステップ1105)、ステップ1106に進む。これに対し、ステップ1104での判定が「No」であるならば、HDC22のバッファコントローラ221はステップ1105をスキップしてステップ1106に進む。ステップ1106においてバッファコントローラ221は、データDX(つまりLBA:XのセクタにライトされたデータDX)を、バッファ17Aにスタックする。このことは、データDXがデータAとして(つまり、タイプAに関連付けて)バッファ17にスタックされることを意味する。
一方、ステップ1103での判定が「Yes」である場合には、バッファコントローラ221はバッファ17Bが満たされているかを判定する(ステップ1107)。ステップ1107での判定が「Yes」であるならば、バッファコントローラ221はバッファ17B内の最古のセクタデータをパージして(ステップ1108)、ステップ1109に進む。これに対し、ステップ1107での判定が「No」であるならば、バッファコントローラ221はステップ1108をスキップしてステップ1109に進む。ステップ1109においてバッファコントローラ221は、データDXをバッファ17Bにスタックする。このことは、データDXがデータBとして(つまり、タイプBに関連付けて)バッファ17にスタックされることを意味する。
HDC22は、ステップ1106または1109が終了すると、ポインタXを1インクリメントする(ステップ1110)。そしてHDC22は、インクリメント後のポインタXがXEを超えているかを判定する(ステップ1111)。もし、ステップ1111での判定が「No」であるならば、HDC22はステップ1101に戻り、インクリメント後のポインタXが指し示すディスク11上のLBA:Xのセクタ(つまり次のセクタ)にデータDXをライトする。以下、上述した場合と同様の処理が、インクリメント後のポインタXがXEを超えるまで(ステップ1111のYes)、繰り返される。
やがて、LBA:Xのセクタへのデータライト中に隣接するLBA:Yのセクタへのデータの上書きが発生したものとする(ステップ1102のYes)。この場合、HDC22は、LBA:YのセクタにライトされたデータDYがバッファ17(つまりバッファ17Aまたは17B)に残っているかを判定する(ステップ1112)。
もし、LBA:YのセクタにライトされたデータDYがバッファ17に残っているならば(ステップ1112のYes)、HDC22は、バッファ17内のデータDYを、LBA:Yのセクタに再ライトする(ステップ1113)。そしてHDC22はステップ1101に戻って、LBA:XのセクタへのデータDXのライトを再度実行する。本実施形態では、LBA:YのセクタがトラックX−1上のセクタである場合、データDYはバッファ17に残っている。
これに対し、データDYがバッファ17に残っていないならば(ステップ1112のNo)。HDC22はホストにエラーを通知して(ステップ1114)、シーケンシャルライトを終了する。
本実施形態では、時々刻々データ量が変化する前記データA及びBの、それぞれバッファ17A及び17Bにおける保持期間を保証するために、バッファ17Aのサイズ(容量)は、前記データAの最大データ量である(I1−I2)ビットに、バッファ17Bのサイズは、前記データBの最大データ量である2I2ビットに設定される。つまり本実施形態では、データAの最大データ量及び前記データBの最大データ量を保存することが可能な、バッファ17内の固定サイズの独立したメモリ空間に、それぞれバッファ17A及び17Bが割り当てられる。
このためバッファ17全体のサイズは、(I1+I2)ビットとなる。このバッファ17全体のサイズは、前述のデータAのデータ量とデータBのデータ量の和であるI1ビットよりもI2ビットだけ(つまり若干)メモリ使用効率が悪い。しかし、後述する変形例と比較して実装は比較的簡便であるため、特にI2が十分に小さい設計の磁気ディスク装置、つまりシーク・位置決め整定が高速な設計の磁気ディスク装置では十分に実用的である。
このように本実施形態によれば、瓦ライトに代表されるシーケンシャルライトにおいて、ヘッド12の予期せぬ位置ずれに起因してデータの上書きが発生したセクタを、上書き発生直前の状態に復旧するための、バッファ内の既ライトデータを利用した再ライトを確実に実現できる。つまり本実施形態によれば、シーク・位置決めのための整定時間にヘッド12が走行した範囲のセクタへのデータの再ライトを可能とし、且つバッファ17に保持されるべき既ライトデータのデータ量を、先行技術で最低必要としたデータ量(2トラックに相当するデータ量)の1/2程度に削減できる。
<シーケンシャルライトの変形例>
次に、上記実施形態の変形例で適用されるシーケンシャルライトの典型的な手順について、図12のフローチャートを参照して、図11のフローチャートと相違する点を中心に説明する。
シーケンシャルライトの変形例の特徴は、バッファ17全体のサイズを上記実施形態よりも更に低減することにある。ここでは、バッファ17のメモリ空間は上記実施形態と異なって2つのメモリ空間に分割されていない。このためバッファ17のメモリ空間には、バッファ17A及び17Bは存在しない。つまりバッファ17には、データAとデータBとが混在する。前述したように、データAの保持期間はT1[s]であり、データBの保持期間は2T1[s]である。そこでシーケンシャルライトの変形例では、バッファ17に格納されるセクタデータ毎に、当該セクタデータがデータAまたはBのいずれであるかを示すラベルAまたはBが貼付される。またバッファ17のサイズは、上記実施形態よりもI2ビット少ないI1ビット、つまりデータAのデータ量とデータBのデータ量の和であるI1ビットである。
まずHDC22は、図11中のステップ1100〜1102に相当するステップ1200〜1202を実行する。ステップ1202においてHDC22は、LBA:Xのセクタへのデータライト中に、ディスク11の半径方向に隣接するLBA:Yのセクタへのデータの上書きが発生したかを判定する。
もし、ステップ1202での判定がNoであるならば、HDC22はバッファ17が満たされているかを判定する(ステップ1203)。もし、バッファ17が満たされているならば(ステップ1203のYes)、HDC22はLBA:XのセクタのデータDXをバッファ17に格納するためには、当該バッファ17からセクタデータをパージする必要があると判断する。そこで、HDC22の判別モジュール222は、データAまたはデータBのいずれのタイプのセクタデータをパージすべきかを判定するために、LBA:Xのセクタが、前回ヘッド12をトラックX−1からトラックXに移動した際に要したシーク・位置決めのための整定時間に対応するかを判定する(ステップ1204)。
もし、ステップ1204での判定が「No」であるならば、HDC22のバッファコントローラ221は、バッファ17内のラベルAが貼付されている最古のセクタデータを当該バッファ17からパージする(ステップ1205)。これに対し、ステップ1204での判定が「Yes」であるならば、HDC22のバッファコントローラ221は、バッファ17内のラベルBが貼付されている最古のセクタデータを当該バッファ17からパージする(ステップ1206)。
HDC22は、ステップ1205または1206が終了すると、ステップ1207に進む。一方、バッファ17が満たされていないならば(ステップ1203のNo)、HDC22は、ステップ1204〜1206をスキップしてステップ1207に進む。
ステップ1207においてHDC22の判別モジュール222は、前記ステップ1103と同様に、LBA:Xのセクタが次のシーク・位置決めのための整定時間に対応するかを判定する。もし、ステップ1207での判定が「No」であるならば、HDC22はステップ1208に進む。このステップ1208においてHDC22のバッファコントローラ221は、データDX(つまりLBA:XのセクタにライトされたデータDX)にラベルAを貼付して、当該ラベルAが貼付されたデータDXをバッファ17にスタックする。
これに対し、ステップ1207での判定が「Yes」であるならば、HDC22はステップ1209に進む。このステップ1209においてHDC22のバッファコントローラ221は、データDXにラベルBを貼付して、当該ラベルBが貼付されたデータDXをバッファ17にスタックする。
HDC22は、ステップ1208または1209が終了すると、前記ステップ1110と同様に、ポインタXを1インクリメントする(ステップ1210)。このインクリメント後のポインタXがXEを超えていないならば(ステップ1211のNo)、HDC22はステップ1201に戻る。以下、上述した場合と同様の処理が、インクリメント後のポインタXがXEを超えるまで(ステップ1211のYes)、繰り返される。
やがて、LBA:Xのセクタへのデータライト中に隣接するLBA:Yのセクタへのデータの上書きが発生したものとする(ステップ1202のYes)。この場合、HDC22は、LBA:YのセクタにライトされたデータDYがバッファ17に残っているかを判定する(ステップ1212)。
もし、LBA:YのセクタにライトされたデータDYがバッファ17に残っているならば(ステップ1212のYes)、HDC22は、バッファ17内のデータDYを、LBA:Yのセクタに再ライトする(ステップ1213)。そしてHDC22はステップ1201に戻って、LBA:XのセクタへのデータDXのライトを再度実行する。これに対し、データDYがバッファ17に残っていないならば(ステップ1212のNo)。HDC22はホストにエラーを通知して(ステップ1214)、シーケンシャルライトを終了する。
上述したように、シーケンシャルライトの変形例は、バッファ17のメモリ空間を分割してバッファ17A及び17Bに割り当てる代わりに、当該メモリ空間を適宜ラベルA及びBによって管理することによりデータA及びBを割り当てる構成を適用している。このため、バッファ17のサイズを、理想的なI1に抑えることができる。このようなシーケンシャルライトの変形例によれば、特にI2が大きい設計の磁気ディスク装置、つまりシーク・位置決め整定が低速な設計の磁気ディスク装置では、上記実施形態よりも大きなバッファ量の低減効果を実現できる。但し、上記実施形態と異なり、バッファ17のメモリ空間内のラベルによる動的な管理が必要となる。
次に、本実施形態で適用されるシーケンシャルリードの典型的な手順について、図13のフローチャートを参照して説明する。ここでは、LBA:XSからLBA:XEの範囲に対応するディスク11上のセクタ群からデータをシーケンシャルにリードするものとする。シーケンシャルリードでは、前述したシーケンシャルライトと異なり、XSはリード開始データアドレスでありXEはリード終了データアドレスである。また、シーケンシャルリードは、シーケンシャルライトと同様に、トラック番号が増加する方向に実行されるものとする。
また、シーケンシャルリードにおいてバッファ17に一時格納されるデータは、シーケンシャルライトの場合と同様に、データAとデータBとの2つのタイプに分類される。データA及びデータBの定義もシーケンシャルライトの場合と同様である。必要ならば、シーケンシャルライトにおけるデータAとデータBに関する前述の定義において、「ライト」を「リード」に置き換えられたい。
まずHDC22は、リードデータアドレスを指すポインタX(LBA:X)をXSに初期設定する(ステップ1300)。次にHDC22は、ディスク11上のLBA:Xのセクタから、R/Wチャネル21を介してヘッド12によりデータDXをリードするための動作を開始する。
まずHDC22は、ディスク11の半径方向でLBA:Xのセクタに隣接するLBA:YのデータDY(つまり、LBA:YのセクタからリードされたデータDY)がバッファ17内に存在するかを判定する(ステップ1301)。ステップ1301での判定が「Yes」であるならば、HDC22は、バッファ17内のデータDY(つまり、LBA:Yからリードされたデータ)を利用して、LBA:XのセクタからデータDXをリードする(ステップ1302)。
即ちHDC22は、R/Wチャネル21を介してヘッド12によりデータDX'をリードし、このリードされたデータDX'に含まれているトラック間干渉の成分をバッファ17内のデータDYに基づいてキャンセルする。具体的には、HDC22はサーボコントローラ23の検出器230からヘッド12の位置ずれ量を取得し、この位置ずれ量に対応した(例えば比例した)係数αが乗じられたデータDY(つまり、αDY)をリードされたデータDX'から差し引くことにより、トラック間干渉がキャンセルされたリードデータDXを取得する。つまりHDC22は、トラック間干渉の成分がキャンセルされたデータを、LBA:XのセクタからリードされたデータDXとして取得する。このようなリード動作は、トラック間干渉キャンセルリード(ITIリード)またはクロストークキャンセルリードと呼ばれる。
これに対し、ステップ1301での判定が「No」であるならば、HDC22は、R/Wチャネル21を介してヘッド12によりデータをリードし、このリードされたデータを、LBA:XのセクタからリードされたデータDXとして取得する(ステップ1303)。
HDC22はステップ1302または1303を実行すると、ステップ1304に進む。ステップ1304においてHDC22は、ステップ1302または1303で、LBA:XのセクタからデータDXを正常にリードできたかを判定する。ここまでの動作は先行技術と同様である。
もし、正常にリードできたならば(ステップ1304のYes)、HDC22の判別モジュール222は、前記ステップ1103と同様に、LBA:Xのセクタが次のシーク・位置決めのための整定時間に対応するかを判定する(ステップ1305)。もし、ステップ1305での判定が「No」であるならば、HDC22のバッファコントローラ221はバッファ17Aが満たされているかを判定する(ステップ1306)。ステップ1306での判定が「Yes」であるならば、バッファコントローラ221はバッファ17A内の最古のセクタデータをパージして(ステップ1307)、ステップ1308に進む。これに対し、ステップ1306での判定が「No」であるならば、バッファコントローラ221はステップ1307をスキップしてステップ1308に進む。ステップ1308においてバッファコントローラ221は、データDX(つまりLBA:Xから正常にリードされたデータDX)を、バッファ17Aにスタックする。
一方、ステップ1305での判定が「Yes」である場合には、バッファコントローラ221はバッファ17Bが満たされているかを判定する(ステップ1309)。ステップ1309での判定が「Yes」であるならば、バッファコントローラ221はバッファ17B内の最古のセクタデータをパージして(ステップ1310)、ステップ1311に進む。これに対し、ステップ1309での判定が「No」であるならば、バッファコントローラ221はステップ1310をスキップしてステップ1311に進む。ステップ1311においてバッファコントローラ221は、データDXをバッファ17Bにスタックする。
HDC22は、ステップ1308または1311が終了すると、ポインタXを1インクリメントする(ステップ1312)、そしてHDC22は、インクリメント後のポインタXがXEを超えているかを判定する(ステップ1313)。もし、ステップ1313での判定が「No」であるならば、HDC22はステップ1301に戻る。以下、上述した場合と同様の処理が、インクリメント後のポインタXがXEを超えるまで(ステップ1313のYes)、繰り返される。
一方、ステップ1302または1303で、LBA:XのセクタからデータDXを正常にリードできなかったなら(ステップ1304のNo)、HDC22はホストにエラーを通知して(ステップ1314)、シーケンシャルリードを終了する。
このように本実施形態によれば、シーケンシャルリードにおける既リードデータを一時格納するためのバッファ領域の確保及び当該バッファ領域の容量の低減に関し、前述のシーケンシャルライトで適用された技術が適用可能である。これにより、瓦リードに代表されるシーケンシャルリードにおいて、ヘッド12の予期せぬ位置ずれに起因するトラック間干渉をキャンセルするための、バッファ内の既リードデータを利用したデータリードを確実に実現できる。つまり本実施形態によれば、シーク・位置決めのための整定時間にヘッド12が走行した範囲のセクタのデータのリードを可能とし、且つバッファ17に保持されるべき既リードデータのデータ量を、先行技術で最低必要としたデータ量(2トラックに相当するデータ量)の1/2程度に削減できる。
<シーケンシャルリードの変形例>
次に、上記実施形態の変形例で適用されるシーケンシャルリードの典型的な手順について、図14のフローチャートを参照して、図13のフローチャートと相違する点を中心に説明する。
シーケンシャルリードの変形例の特徴は、前述のシーケンシャルライトの変形例と同様のバッファ管理を適用することで、バッファ17全体のサイズを上記実施形態よりも更に低減することにある。
まずHDC22は、図13中のステップ1300〜1304に相当するステップ1400〜1404を実行する。ステップ1404においてHDC22は、ステップ1402または1403で、LBA:XのセクタからデータDXを正常にリードできたかを判定する。もし、ステップ1404での判定が「Yes」であるならば、HDC22はバッファ17が満たされているかを判定する(ステップ1405)。
もし、バッファ17が満たされているならば(ステップ1405のYes)、HDC22の判別モジュール222は、前記ステップ1204と同様に、LBA:Xのセクタが、前回ヘッド12をトラックX−1からトラックXに移動した際に要したシーク・位置決めのための整定時間に対応するかを判定する(ステップ1406)。
もし、ステップ1406での判定が「No」であるならば、HDC22のバッファコントローラ221は、バッファ17内のラベルAが貼付されている最古のセクタデータを当該バッファ17からパージする(ステップ1407)。これに対し、ステップ1406での判定が「Yes」であるならば、HDC22のバッファコントローラ221は、バッファ17内のラベルBが貼付されている最古のセクタデータを当該バッファ17からパージする(ステップ1408)。
HDC22は、ステップ1407または1408が終了すると、ステップ1409に進む。一方、バッファ17が満たされていないならば(ステップ1405のNo)、HDC22は、ステップ1406〜1408をスキップしてステップ1409に進む。
ステップ1409においてHDC22の判別モジュール222は、前記ステップ1207と同様に、LBA:Xのセクタが次のシーク・位置決めのための整定時間に対応するかを判定する。もし、ステップ1409での判定が「No」であるならば、HDC22はステップ1410に進む。このステップ1410においてHDC22のバッファコントローラ221は、データDX(つまりLBA:XのセクタからリードされたデータDX)にラベルAを貼付して、当該ラベルAが貼付されたデータDXをバッファ17にスタックする。
これに対し、ステップ1409での判定が「Yes」であるならば、HDC22はステップ1411に進む。このステップ1411においてHDC22のバッファコントローラ221は、データDXにラベルBを貼付して、当該ラベルBが貼付されたデータDXをバッファ17にスタックする。
HDC22は、ステップ1410または1411が終了すると、前記ステップ1312と同様に、ポインタXを1インクリメントする(ステップ1412)。このインクリメント後のポインタXがXEを超えていないならば(ステップ1413のNo)。HDC22はステップ1401に戻る。以下、上述した場合と同様の処理が、インクリメント後のポインタXがXEを超えるまで(ステップ1413のYes)、繰り返される。
一方、ステップ1402または1403で、LBA:XのセクタからデータDXを正常にリードできなかったなら(ステップ1404のNo)、HDC22はホストにエラーを通知して(ステップ1414)、シーケンシャルリードを終了する。
このようにシーケンシャルリードの変形例においても、既リードデータを一時格納するためのバッファ領域の確保及び当該バッファ領域の容量の低減に関し、前述のシーケンシャルライトの変形例で適用された技術が適用可能である。これにより、瓦リードに代表されるシーケンシャルリードにおいて、ヘッド12の予期せぬ位置ずれに起因するトラック間干渉をキャンセルするための、バッファ内の既リードデータを利用したデータリードを確実に実現できる。つまり本実施形態によれば、シーク・位置決めのための整定時間にヘッド12が走行した範囲のセクタのデータのリードを可能とし、且つバッファ17に保持されるべき既リードデータのデータ量を、先行技術で最低必要としたデータ量(2トラックに相当するデータ量)の1/2に削減できる。
以上説明した少なくとも1つの実施形態によれば、シーケンシャルライトにおけるヘッドの予期せぬ位置ずれに伴う再ライトまたはシーケンシャルリードにおけるトラック間干渉のキャンセルを実現しながら、バッファの記憶容量を低減する磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング(バッファ制御)方法を提供することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
11…ディスク、12…ヘッド、13…スピンドルモータ(SPM)、14…アクチュエータ、17…バッファ、17A…バッファ(第2のバッファ)、17B…バッファ(第1のバッファ)、20…コントロールユニット、21…リード/ライト(R/W)チャネル、22…ディスクコントローラ(HDC)、23…サーボコントローラ、142…ボイスコイルモータ(VCM)、221…バッファコントローラ、222…判別モジュール、230…検出器。

Claims (8)

  1. ディスク上に同心円状にデータがヘッドにより1周当たり時間T1でI1ビットライトされる、または前記ディスク上に同心円状にライトされたデータが前記ヘッドにより1周当たり前記時間T1で前記I1ビットリードされ、且つ隣接トラックに前記ヘッドを移動してから前記ヘッドによるライトまたはリードを開始するまでに前記時間T1よりも短い整定時間T2を要する磁気ディスク装置において、前記ディスクにシーケンシャルにライトされたデータまたは前記ディスクからシーケンシャルにリードされたデータを一時的にバッファに格納するデータバッファリング方法であって、
    前記ディスク上の第1のトラックの第1の領域の前記ディスク上の方位角の第1の範囲が、前記シーケンシャルライトにおける前記第1の領域への第1のデータのライトまたは前記シーケンシャルリードにおける前記第1の領域からの第2のデータのリードの後から前記ディスクの1周回が経過するまでの期間における前記整定時間T2中に前記ヘッドが走行する前記ディスク上の方位角の第2の範囲に対応するかに基づいて、前記第1のデータまたは前記第2のデータのデータタイプが、第1のタイプまたは第2のタイプのいずれであるかを判別し、
    前記第1のデータまたは前記第2のデータを前記判別されたデータタイプに関連付けて前記バッファに格納し、
    前記バッファに格納された前記第1のタイプのデータが前記バッファに前記時間T1の2倍の時間だけ保持され、前記バッファに格納された前記第2のタイプのデータが前記バッファに前記時間T1 だけ保持されるように、前記バッファを制御する
    データバッファリング方法。
  2. 前記第1の範囲の少なくとも一部が前記第2の範囲に含まれる場合、前記第1のデータまたは前記第2のデータのデータタイプは前記第1のタイプであると判別され、
    前記第1の範囲が前記第2の範囲から外れる場合、前記第1のデータまたは前記第2のデータのデータタイプは前記第2のタイプであると判別される
    請求項1記載のデータバッファリング方法。
  3. 前記整定時間T2に等しい時間にライトまたはリードされるデータの量をI2ビットとすると、前記バッファに格納される前記第1のタイプのデータの第1のデータ量は2I2ビット以下であり、前記バッファに格納される前記第2のタイプのデータの第2のデータ量は(I1−I2)ビット以下である
    請求項2記載のデータバッファリング方法。
  4. 前記バッファは、
    前記第1のタイプのデータを格納する、サイズが前記2I2ビットの第1のバッファと、
    前記第2のタイプのデータを格納する、サイズが前記(I1−I2)ビットの第2のバッファと
    を具備する請求項3記載のデータバッファリング方法。
  5. 前記バッファに格納される前記第1のタイプのデータの第1のデータ量と前記バッファに格納される前記第2のタイプのデータの第2のデータ量との和が前記I1ビットである請求項2記載のデータバッファリング方法。
  6. 前記バッファのサイズは前記I1ビットであり、
    前記バッファに格納される前記第1のデータまたは前記第2のデータに、前記判別されたデータタイプを示すラベルを貼付する
    請求項5記載のデータバッファリング方法。
  7. 前記シーケンシャルライトにおいて前記第1のトラックへのデータライトに先行してデータがライトされた、または前記シーケンシャルリードにおいて前記第1のトラックからのデータのリードに先行してデータがリードされた、前記第1のトラックに隣接する第2のトラックの方向に、前記第1の領域へ前記第1のデータをライト中または前記第1の領域から前記第2のデータをリード中に前記ヘッドの位置がずれたことを検出し、
    前記ヘッドの位置ずれによってデータの上書きが発生した前記第1の領域に対応する前記第2のトラック上の第2の領域に、前記第2の領域にライトされて前記バッファに格納されている第3のデータを再ライトし、または前記第3の領域からリードされて前記バッファに格納されている第4のデータに基づき、前記リードされた第2のデータに含まれているトラック間干渉成分をキャンセルする
    請求項1記載のデータバッファリング方法。
  8. ディスク上に同心円状にデータがヘッドにより1周当たり時間T1でI1ビットライトされる、または前記ディスク上に同心円状にライトされたデータが前記ヘッドにより1周当たり前記時間T1で前記I1ビットリードされ、且つ隣接トラックに前記ヘッドを移動してから前記ヘッドによるライトまたはリードを開始するまでに前記時間T1よりも短い整定時間T2を要する磁気ディスク装置において、
    前記ディスクにシーケンシャルにライトされたデータまたは前記ディスクからシーケンシャルにリードされたデータを一時的に格納するバッファと、
    前記ディスク上の第1のトラックの第1の領域の前記ディスク上の方位角の第1の範囲が、前記シーケンシャルライトにおける前記第1の領域への第1のデータのライトまたは前記シーケンシャルリードにおける前記第1の領域からの第2のデータのリードの後から前記ディスクの1周回が経過するまでの期間における前記整定時間T2中に前記ヘッドが走行する前記ディスク上の方位角の第2の範囲に対応するかに基づいて、前記第1のデータまたは前記第2のデータのデータタイプが、第1のタイプまたは第2のタイプのいずれであるかを判別する判別手段と、
    前記第1のデータまたは前記第2のデータを前記判別されたデータタイプに関連付けて前記バッファに格納し、前記バッファに格納された前記第1のタイプのデータが前記バッファに前記時間T1の2倍の時間だけ保持され、前記バッファに格納された前記第2のタイプのデータが前記バッファに前記時間T1 だけ保持されるように、前記バッファを制御するバッファ制御手段と
    を具備することを特徴とする磁気ディスク装置。
JP2012005265A 2012-01-13 2012-01-13 磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法 Expired - Fee Related JP5713926B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012005265A JP5713926B2 (ja) 2012-01-13 2012-01-13 磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法
US13/551,343 US8699163B2 (en) 2012-01-13 2012-07-17 Magnetic disk drive and data buffering method applied to the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012005265A JP5713926B2 (ja) 2012-01-13 2012-01-13 磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法

Publications (2)

Publication Number Publication Date
JP2013145617A JP2013145617A (ja) 2013-07-25
JP5713926B2 true JP5713926B2 (ja) 2015-05-07

Family

ID=48779785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012005265A Expired - Fee Related JP5713926B2 (ja) 2012-01-13 2012-01-13 磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法

Country Status (2)

Country Link
US (1) US8699163B2 (ja)
JP (1) JP5713926B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5787839B2 (ja) * 2012-07-25 2015-09-30 株式会社東芝 ディスク記憶装置及びデータ保護方法
US11164598B1 (en) * 2021-03-31 2021-11-02 Seagate Technology Llc Managing data associated with overwritten portions of previously-written tracks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3942483B2 (ja) * 2002-05-15 2007-07-11 富士通株式会社 隣接トラックデータの保証処理方法及びデイスク装置
JP4150395B2 (ja) * 2005-09-30 2008-09-17 東芝サムスン ストレージ・テクノロジー株式会社 光ディスク装置、および記録方法
JP4634991B2 (ja) * 2006-10-24 2011-02-16 株式会社リコー 情報再生装置、情報再生方法
JP4498426B2 (ja) * 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
JP2009238304A (ja) * 2008-03-27 2009-10-15 Fujitsu Ltd データ記憶装置及びデータ記憶装置のライト処理方法。

Also Published As

Publication number Publication date
US20130182348A1 (en) 2013-07-18
JP2013145617A (ja) 2013-07-25
US8699163B2 (en) 2014-04-15

Similar Documents

Publication Publication Date Title
US6779081B2 (en) Apparatus and method for defragmentation in disk storage system
USRE48952E1 (en) Recording medium controller and method thereof
US8134798B1 (en) Disk drive maintaining a substantially constant host transfer rate when reading data from varying data rate data tracks across multiple disk surfaces
US8587889B2 (en) Disk storage apparatus, disk control apparatus and write control method
US8819375B1 (en) Method for selective defragmentation in a data storage device
US8896953B2 (en) Disk storage apparatus and method for shingled magnetic recording
US8014097B1 (en) Disk drive with adaptive counting of writes to the data tracks for minimizing the effect of adjacent track encroachment
JP4282733B1 (ja) ディスク記憶装置及びデータ書き込み方法
US20080239901A1 (en) Disk drive device and data rewrite method thereof
US10366726B1 (en) Interlaced magnetic recording in with multiple independent-actuators having respective independent heads
JP2012160232A (ja) 情報記録装置及び情報記録方法
US20160378357A1 (en) Hybrid storage device and method for operating the same
US7487388B2 (en) Method of recovering reallocation sectors in data storage system and disc drive using the same
US20120002315A1 (en) Magnetic disk drive and refresh method for the same
US20200174941A1 (en) Magnetic disk device and recording method of the same
US20120162809A1 (en) Magnetic disk drive and method of accessing a disk in the drive
US7450328B2 (en) Method for recording bursts on a disk and related apparatus
JP5787839B2 (ja) ディスク記憶装置及びデータ保護方法
US8117491B2 (en) Disk-drive device and method for error recovery thereof
JP5694210B2 (ja) 磁気ディスク装置、リードライト制御方法、及びコントローラ
JP5713926B2 (ja) 磁気ディスク装置及び同磁気ディスク装置におけるデータバッファリング方法
US7898757B2 (en) Hard disk drive with divided data sectors and hard disk drive controller for controlling the same
US20180277151A1 (en) Magnetic disk device, controller, and method
US20140122793A1 (en) Magnetic disk device and data writing method
US10910011B1 (en) Data storage device operated at different spin speeds

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140131

RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20140319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140912

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: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150310

LAPS Cancellation because of no payment of annual fees