JP2023111270A - 磁気ディスク装置、および磁気ディスク装置の制御方法 - Google Patents
磁気ディスク装置、および磁気ディスク装置の制御方法 Download PDFInfo
- Publication number
- JP2023111270A JP2023111270A JP2022013046A JP2022013046A JP2023111270A JP 2023111270 A JP2023111270 A JP 2023111270A JP 2022013046 A JP2022013046 A JP 2022013046A JP 2022013046 A JP2022013046 A JP 2022013046A JP 2023111270 A JP2023111270 A JP 2023111270A
- Authority
- JP
- Japan
- Prior art keywords
- area
- track
- sector
- logical address
- defect
- 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
- 238000000034 method Methods 0.000 title claims description 87
- 230000007547 defect Effects 0.000 claims abstract description 128
- 230000006866 deterioration Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 6
- 230000001174 ascending effect Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B20/1889—Methods for assignment of alternate areas for defective areas with discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B21/00—Head arrangements not specific to the method of recording or reproducing
- G11B21/02—Driving or moving of heads
- G11B21/022—Programmed access in sequence to indexed parts of operating record carriers
- G11B21/025—Programmed access in sequence to indexed parts of operating record carriers of rotating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition 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/54—Disposition 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/55—Track change, selection or acquisition by displacement of the head
- G11B5/5521—Track change, selection or acquisition by displacement of the head across disk tracks
- G11B5/5526—Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
- G11B5/553—Details
- G11B5/5547—"Seek" control and circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition 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/54—Disposition 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/55—Track change, selection or acquisition by displacement of the head
- G11B5/5521—Track change, selection or acquisition by displacement of the head across disk tracks
- G11B5/5565—Track change, selection or acquisition by displacement of the head across disk tracks system adaptation for compensation of variations of physical parameters, e.g. temperature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】ディスクに突起などが存在している場合であっても、当該突起との衝突を回避し、データの読み書き時におけるシーケンシャル性能の低下を抑制可能な磁気ディスク装置を提供する。【解決手段】磁気ディスク装置1は、磁気ディスク10と、ヘッド15と、システムコントローラ100と、を備える。コントローラは、磁気ディスクにおいて互いに隣接する複数のシリンダで構成される所定の記録領域のうち、所定の記録領域に存在するディフェクトに対応して規定された第1の領域のセクタには論理アドレスを割り当てず、第1の領域以外の第2の領域のセクタに論理アドレスを一意に割り当てる。システムコントローラは、所定の記録領域に存在するディフェクトの数に応じて、第2の領域のセクタに対する論理アドレスの割り当てを異ならせる。【選択図】図1
Description
本発明の実施形態は、磁気ディスク装置、および該磁気ディスク装置の制御方法に関する。
磁気ディスク装置に搭載されたディスクの表面(記録面)には、例えば微小の傷やスパッタフレーク等の微小の突起などのディフェクトが存在する。これらのディフェクトは、ディスクに対するデータの正常な書き込みや読み出しに支障を来す要因となり、またヘッドを損傷させる要因ともなる。このため、磁気ディスク装置では、ディフェクトの所在がディフェクト情報として予め登録されている。ディフェクトが存在しているとして登録された領域は、例えば該領域に対して論理アドレスを割り当てないことでディスクの記録領域から除外される。
磁気ディスク装置は、記録密度の向上に伴い、再生ヘッド(リーダー)および記録ヘッド(ライター)と磁気ディスクとの間の隙間を狭める必要がある。そのため、リーダーおよびライターの近傍にヒータが搭載された磁気ディスク装置が知られている。ヒータは、リーダーやライターを加熱し、これらをディスクの表面側に突き出させる。これにより、ヘッドのリードライト特性マージンが確保される。
例えば、対象トラックへのシーク時にヘッドがディスクの突起(バンプ:Bump)を跨ぐ必要がある場合、リーダーやライターを冷却し、突き出しが治まるのを待ってからシークを開始する。そして、ヘッドが突起を完全に跨いだ後、ヒータを印加してリーダーやライターを突き出す制御を行う。これにより、リーダーやライターと突起との衝突が回避される。
その一方で、ヘッドが突起を跨ぐ前後で所定の待ち時間が必要となる。したがって、突起などのディフェクトの数が多くなるほど、その分だけ待ち時間が長くなり、データの読み出し(リード)処理や書き込み(ライト)処理に時間を要することとなる。このため、このようなディフェクトによるデータの読み出し性能や書き込み性能、例えばシーケンシャル性能の低下を抑制することが求められる。
本発明の実施形態は、ディスクに突起などのディフェクトが存在している場合であっても、当該突起などとの衝突を回避し、データの読み出し時や書き込み時におけるシーケンシャル性能の低下を抑制可能な磁気ディスク装置、および該磁気ディスクの制御方法を提供することにある。
実施形態の磁気ディスク装置は、磁気ディスクと、ヘッドと、コントローラを備える。前記ヘッドは、前記磁気ディスクにデータを書き込み、前記磁気ディスクから前記データを読み出す。前記コントローラは、前記磁気ディスクにおいて互いに隣接する複数のシリンダで構成される所定の記録領域のうち、前記所定の記録領域に存在するディフェクトに対応して規定された第1の領域のセクタには論理アドレスを割り当てず、前記第1の領域以外の第2の領域のセクタに前記論理アドレスを一意に割り当てる。前記コントローラは、前記所定の記録領域に存在する前記ディフェクトの数に応じて、前記第2の領域の前記セクタに対する前記論理アドレスの割り当てを異ならせる。
以下、実施形態に係る磁気ディスク装置について、図1から図6を参照して説明する。
図1は、実施形態に係る磁気ディスク装置1の概略的な構成を示すブロック図である。図1に示すように、磁気ディスク装置1は、後述するヘッドディスクアセンブリ(HDA)と、ドライバIC20と、ヘッドアンプ集積回路(以下、ヘッドアンプICという)30と、揮発性メモリ70と、バッファメモリ(バッファ)80と、不揮発性メモリ90と、システムコントローラ100とを備える。また、磁気ディスク装置1は、ホストシステム(以下、単にホストという)200と接続される。
図1は、実施形態に係る磁気ディスク装置1の概略的な構成を示すブロック図である。図1に示すように、磁気ディスク装置1は、後述するヘッドディスクアセンブリ(HDA)と、ドライバIC20と、ヘッドアンプ集積回路(以下、ヘッドアンプICという)30と、揮発性メモリ70と、バッファメモリ(バッファ)80と、不揮発性メモリ90と、システムコントローラ100とを備える。また、磁気ディスク装置1は、ホストシステム(以下、単にホストという)200と接続される。
HDAは、磁気ディスク(以下、ディスクという)10と、スピンドルモータ(以下、SPMという)12と、ヘッド15を搭載しているアーム13と、ボイスコイルモータ(以下、VCMという)14とを有する。ディスク10は、SPM12に取り付けられ、SPM12の駆動により回転する。アーム13およびVCM14は、アクチュエータを構成している。アクチュエータは、VCM14の駆動により、アーム13に搭載されているヘッド15をディスク10上の目標位置まで移動(シーク)制御する。ディスク10およびヘッド15の数は、一つに限らず、複数であってもよい。
ディスク10は、ユーザから利用可能なユーザデータ領域10aと、システム管理に必要な情報をライトするシステムエリア10bとを有する。これらのユーザデータ領域10aとシステムエリア10bは、ディスク10におけるデータを書き込み可能な領域にそれぞれ割り当てられている。以下、ディスク10と平行で、ディスク10の半径方向と直交する方向を円周方向という。
ヘッド15は、スライダを本体として構成されており、該スライダに実装されたライトヘッド15Wとリードヘッド15Rとを備える。ライトヘッド15Wは、ディスク10上にデータを書き込む(ライトする)。リードヘッド15Rは、ディスク10上のデータトラックに記録されているデータを読み出す(リードする)。
ドライバIC20は、システムコントローラ100(詳細には、後述するMPU60)の制御に従って、SPM12およびVCM14の駆動を制御する。
ヘッドアンプIC30は、リードアンプおよびライトドライバを備える。リードアンプは、ディスク10から読み出されたリード信号を増幅して、システムコントローラ100(詳細には、後述するリード/ライト(R/W)チャネル40)に出力する。ライトドライバは、R/Wチャネル40から出力される信号に応じたライト電流をヘッド15に出力する。
揮発性メモリ70は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ70は、磁気ディスク装置1の各部での処理に必要なデータなどを格納する。揮発性メモリ70は、例えば、DRAM(Dynamic Random Access Memory)、またはSDRAM(Synchronous Dynamic Random Access Memory)である。
バッファメモリ80は、磁気ディスク装置1とホスト200との間で送受信されるデータ等を一時的に記録する半導体メモリである。なお、バッファメモリ80は、揮発性メモリ70と一体に構成されていてもよい。バッファメモリ80は、例えば、DRAM、SRAM(Static Random Access Memory)、SDRAM、FeRAM(Ferroelectric Random Access Memory)、あるいはMRAM(Magneto resistive Random Access Memory)などである。
不揮発性メモリ90は、電力供給が断たれても記憶しているデータを保持する半導体メモリである。不揮発性メモリ90は、例えば、NOR型またはNAND型のフラッシュROM(Flash Read Only Memory :FROM)である。
不揮発性メモリ90には、ディフェクト情報(以下、Plistという)が記憶されている。Plistは、ディスク10の表面(記録面)に存在するディフェクトの所在を示す情報の集合である。ディフェクトの有無は、例えば製品(磁気ディスク装置1)の出荷前のディスク10の品質検査において検出されている。Plistには、例えばディフェクトが存在するシリンダ位置、トラック位置、セクタ位置、セクタ長、ヘッド位置などの各情報が互いに紐付けられて登録されている。シリンダ位置、トラック位置、セクタ位置は、例えば対応するディフェクトが存在するディスク10上のシリンダ、トラック、セクタの各位置(物理アドレス)である。セクタ数は、例えば対応するディフェクトが存在するセクタの数である。ヘッド位置は、例えば対応するディフェクトが存在するディスク10に対してデータを読み書きするヘッド15の位置(ヘッド番号)であり、当該ディフェクトが存在するディスク10の記録面を特定する。
Plistには、ディフェクトが実際に存在するセクタだけでなく、該セクタに近接する所定のセクタ(近接セクタ)の数もマージンとして登録されている。近接セクタは、ディフェクトの存在は検出されていないが、該ディフェクトよりも小さいディフェクト、例えば微小の傷や突起などが実際には存在しているセクタ、もしくは当該突起などが存在している可能性のあるセクタである。本実施形態では一例として、近接セクタは、ディフェクトが存在するセクタを境にセクタの配置方向の前後、換言すればディスク10の回転方向の上流側と下流側にそれぞれ設定されている。したがって、Plistには、ディフェクトが存在するセクタの前後に設定するセクタ数(マージンセクタ数)が登録されている。
すなわち、ディスク10の記録面は、ディフェクトに対応する領域(第1の領域、以下、トラックスキップ領域という)を含み得る。トラックスキップ領域は、ディフェクトが存在するセクタを持つトラックと、当該トラックに近接するトラックを含む領域であり、当該領域のセクタに対して論理アドレスを割り当てないことでディスク10の記録領域から除外されている。トラックスキップ領域に含まれるトラックについての情報、例えばトラック番号などは、Plist、つまりディフェクト情報の一つとして不揮発性メモリ90に記憶されている。ディスク10の記録面のうち、トラックスキップ領域以外の領域(第2の領域、以下、通常記録領域という)のセクタは、論理アドレスが一意に割り当てられ、ディスク10の記録領域として用いられる。
また、不揮発性メモリ90には、ディスク10の管理情報が記憶されている。複数のディスク10が存在している場合、管理情報は各々のディスク10ごとに記憶されている。ディスク10の管理情報は、例えばLBA(Logical Block Addressing)開始セクタ位置、セクタ数、シークセクタ数、スキュー(Skew)値などである。LBA開始セクタ位置は、ディスク10において論理アドレスの先頭アドレスが割り当てられるセクタの位置(例えば物理アドレス)である。セクタ数は、1トラックあたりのセクタの数である。シークセクタ数は、トラックスキップ領域に含まれるトラック数をヘッド15がシークするために要する時間に応じて設定されるセクタの数である。例えば、シークセクタ数は、トラックスキップ領域に含まれるトラック数(トラックスキップ幅)に紐付けられてリスト(テーブル)化されている。シークセクタ数は、後述するLBA割り当て処理の実行時にパラメータとしてかかるリストから読み出される。スキュー値は、トラックに対するヘッドのスキュー角の値であり、隣接するトラックにおけるLBAの開始位置(もしくは終了位置)のずれに相当するセクタ数である。
システムコントローラ(コントローラ)100は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(SoC)と称される大規模集積回路(LSI)を用いて実現される。システムコントローラ100は、リード/ライト(R/W)チャネル40と、ハードディスクコントローラ(HDC)50と、マイクロプロセッサ(MPU)60とを含む。システムコントローラ100は、ドライバIC20、ヘッドアンプIC30、揮発性メモリ70、バッファメモリ80、不揮発性メモリ90、およびホスト200に電気的に接続されている。
R/Wチャネル40は、後述するMPU60からの指示に応じて、ディスク10からホスト200に転送される読み出しデータおよびホスト200から転送されるライトデータの信号処理を実行する。R/Wチャネル40は、ライトデータの信号品質を測定する回路、または機能を有している。R/Wチャネル40は、例えば、ヘッドアンプIC30、HDC50、およびMPU60などに電気的に接続されている。
HDC50は、後述するMPU60からの指示に応じて、ホスト200とR/Wチャネル40との間のデータ転送を制御する。HDC50は、例えば、R/Wチャネル40、MPU60、揮発性メモリ70、バッファメモリ80、および不揮発性メモリ90などに電気的に接続されている。
MPU60は、磁気ディスク装置1の各部を制御するメインコントローラである。MPU60は、ドライバIC20を介してVCM14を制御し、ヘッド15の位置決め(シーク)を行なうサーボ制御を実行する。MPU60は、ディスク10へのデータの書き込み動作を制御するとともに、ライトデータの保存先を選択する。また、MPU60は、ディスク10からのデータの読み出し動作を制御すると共に、リードデータの処理を制御する。MPU60は、磁気ディスク装置1の各部に接続されている。MPU60は、例えば、ドライバIC20、R/Wチャネル40、HDC50、および不揮発性メモリ90などに電気的に接続されている。
MPU60は、リード/ライト制御部61と、管理部62を備えている。MPU60は、例えばリード/ライト制御部61および管理部62の処理をファームウェア上で実行する。なお、MPU60は、これらのリード/ライト制御部61および管理部62を回路として備えていてもよい。
リード/ライト制御部61は、ホスト200からのコマンドに従って、データの読み出し処理および書き込み処理を制御する。リード/ライト制御部61は、ドライバIC20を介してVCM14を制御し、ヘッド15をディスク10上の目標位置に位置決め(シーク)し、データの読み出しまたは書き込みを行う。
管理部62は、通常記録領域とトラックスキップ領域とにディスク10の記録領域を区分し、記録面を管理する。また、管理部62は、ディスク10に論理アドレスを割り当てる処理(以下、LBA割り当て処理という)を行う。LBA割り当て処理は、Plistに応じて、つまり、ディスク10の表面(記録面)におけるディフェクトの存否に応じてディスク10に論理アドレスを割り当てる処理である。管理部62は、例えば製品(磁気ディスク装置1)の出荷前のディスク10の品質検査においてディフェクトの有無を検出し、Plistを不揮発性メモリ90に保存する。LBA割り当て処理において、管理部62は、Plistに保存した内容に応じてトラックスキップ領域には論理アドレスを割り当てず、通常記録領域に論理アドレスを割り当てる。これにより、管理部62は、トラックスキップ領域をディスク10の記録領域から除外する。後述するように、管理部62は、所定の記録領域、本実施形態では所定の記録領域に存在するディフェクトの数に応じて通常記録領域のセクタに対する論理アドレスの割り当てを異ならせる。
以下、磁気ディスク装置1においてLBA割り当て処理を行う際にシステムコントローラ100、具体的にはMPU60の管理部62が実行する制御について、フローチャートに従って説明する。図2は、LBA割り当て処理を行う際に管理部62が実行する制御のフローチャートである。
図2に示すように、LBA割り当て処理にあたって、管理部62は、所定の記録領域における突起などのディフェクトの総数(以下、ディフェクト総数という)を取得する(S01)。本実施形態では一例として、所定の記録領域はセル単位の領域である。セルは、隣接する複数のシリンダを含む領域である。したがって、セルは、複数のシリンダの各々に対応するすべてのディスク10のトラック、換言すればすべてのヘッド15で読み書きされるトラックに対応する領域である。ただし、所定の記録領域は、このようなセル単位の領域には限定されず、任意の領域として構わない。すなわち、管理部62は、後述するようにセルごとに論理アドレスを割り当てるとともに、各々のセルにおいては当該セルのトラックに複数のヘッド15の各々でアクセスされる領域に対して順次論理アドレスを割り当てる。
管理部62は、例えば不揮発性メモリ90に記憶されたPlistからディフェクト情報としてディフェクトの所在を読み出し、LBA割り当て処理の対象であるセル(以下、対象セルという)におけるすべてのディスク10のディフェクトの数を積算する。管理部62は、積算したディフェクトの数を対象セルにおけるディフェクト総数として保持する。
管理部62は、ディフェクト総数に応じて、対象セルのセクタに対して所定のLBA割り当て処理を行う。本実施形態において、管理部62は、異なる三つのLBA割り当て処理、つまり第1から第3のLBA割り当て処理のいずれかを対象セルに対して行う。これらのLBA割り当て処理は、例えば二つの閾値を用いて次のように場合分けして実行される。第1のLBA割り当て処理は、論理アドレスを割り当てるための第1の割り当て処理であり、ディフェクト総数が第1の閾値未満である対象セルに対して実行される。第2のLBA割り当て処理は、論理アドレスを割り当てるための第2の割り当て処理であり、ディフェクト総数が第1の閾値以上、第2の閾値未満である対象セルに対して実行される。第3のLBA割り当て処理は、論理アドレスを割り当てるための第3の割り当て処理であり、ディフェクト総数が第2の閾値以上である対象セルに対して実行される。
第1の閾値および第2の閾値は、第1から第3のLBA割り当て処理のいずれを対象セルに実行するかをディフェクト総数に応じて判定するための閾値である。以下、かかる判定時の条件を処理選択条件という。第1の閾値および第2の閾値は、例えば不揮発性メモリ90に記憶され、処理選択条件の判定時にパラメータとして読み出される。これらの閾値は任意に設定可能であるが、第1の閾値は第2の閾値よりも大きな値に設定される。本実施形態では一例として、第1の閾値が1、第2の閾値が2に設定されている。
処理選択条件として、管理部62は、ディフェクト総数を第1の閾値と比較する第1の処理選択条件と、ディフェクト総数を第2の閾値と比較する第2の処理選択条件をそれぞれ判定する。例えば、管理部62は、ディフェクト総数を第1の閾値と比較し、ディフェクト総数が第1の閾値以上であれば第1の処理選択条件が成立すると判定し、ディフェクト総数が第1の閾値未満であれば第1の処理選択条件が成立しないと判定する(S02)。また、管理部62は、ディフェクト総数を第2の閾値と比較し、ディフェクト総数が第2の閾値以上であれば第2の処理選択条件が成立すると判定し、ディフェクト総数が第2の閾値未満であれば第2の処理選択条件が成立しないと判定する(S03)。本実施形態において、管理部62は、第1の処理選択条件を判定し、第1の処理選択条件が成立する場合、第2の処理選択条件を判定する。ただし、管理部62は、第2の処理選択条件を判定し、第2の処理選択条件が成立しない場合、第1の処理選択条件を判定してもよい。
第1の処理選択条件が成立しない場合(S02においてNo)、つまり対象セルにおけるディフェクト総数が第1の閾値未満である場合、管理部62は、第1のLBA割り当て処理を実行する(S04)。この場合、対象セルにおけるディフェクトの総数が0(ゼロ)であり、対象セルにはディフェクトが存在していない。したがって、管理部62は、対象セルにおいてすべてのヘッド15が当該対象セルのセクタにシーケンシャルアクセスするように論理アドレスを割り当てる。その際、管理部62は、隣接するトラックにおいては、スキュー値だけLBA開始セクタ位置をずらす。これにより、回転待ちなく隣接トラックにアクセス可能となる。
第1の処理選択条件が成立する場合(S02においてYes)、つまり対象セルにおけるディフェクト総数が第1の閾値以上である場合、管理部62は、第2の処理選択条件を判定する(S03)。
第2の処理選択条件が成立しない場合(S03においてNo)、管理部62は、第2のLBA割り当て処理を実行する(S05)。この場合、対象セルにおけるディフェクト総数が第1の閾値以上、第2の閾値未満である場合、つまり対象セルにおけるディフェクト総数が1である場合に相当する。第2のLBA割り当て処理については後述する。
第2の処理選択条件が成立しない場合(S03においてNo)、管理部62は、第2のLBA割り当て処理を実行する(S05)。この場合、対象セルにおけるディフェクト総数が第1の閾値以上、第2の閾値未満である場合、つまり対象セルにおけるディフェクト総数が1である場合に相当する。第2のLBA割り当て処理については後述する。
第2の処理選択条件が成立する場合(S03においてYes)、管理部62は、第3のLBA割り当て処理を実行する(S06)。この場合、対象セルにおけるディフェクト総数が第2の閾値以上である場合、つまり対象セルにおけるディフェクト総数が2以上である場合に相当する。第3のLBA割り当て処理については後述する。
管理部62は、すべてのセルにおけるトラックスキップ領域以外の通常記録領域に対して論理アドレスを割り当てるまで、S01からS06までの処理を対象セルにおけるディフェクト総数に応じて繰り返す(S07)。したがって、論理アドレスを割り当てていないセルが存在している場合(S07においてNo)、管理部62は、次のセル、例えば現在の対象セルに隣接するセルを新たな対象セルに変更し(S08)、新たな対象セルにおけるディフェクト総数を取得する(S01)。以降、取得したディフェクト総数に応じて、第1から第3のLBA割り当て処理(S04,S05,S06)のいずれかを行い、新たな対象セルに対して論理アドレスを割り当てる。一方、すべてのセルに対して論理アドレスを割り当て、論理アドレスを割り当てていないセルが存在していない場合(S07においてYes)、管理部62は、LBA割り当て処理を終了する。
次に、第2のLBA割り当て処理(S05)について説明する。第2のLBA割り当て処理は、トラックスキップ領域の手前に位置するトラックまでデータを読み書きした後、ヘッド15が別のヘッド15にチェンジされてデータを読み書きするように論理アドレスを割り当てる処理である。図3は、第2のLBA割り当て処理を行う際に管理部62が実行する制御のフローチャートである。図4は、第2のLBA割り当て処理による論理アドレスの割り当てを模式的に示す図である。図4において、横方向はトラックの配列方向であり、縦方向はヘッド(ディスク)の配列方向である。この場合、横方向における左側がディスクの半径方向の外側に相当し、右側がディスクの半径方向の内側に相当する。
図4に示す例では、対象ヘッドは、論理ヘッド番号が0(ゼロ)からnまで、複数存在している。図4において、各論理ヘッドに対応する縦横に区画された1マスは、複数のトラックからなる領域(塊り)を示す。また、セルは、すべての論理ヘッドに対応する前記トラックの塊りの集合領域Cy10と集合領域Cy11との間で、セルC1とセルC2に分かれている。実線L4は、セルC1とセルC2の境界線である。星印B4は、ディフェクトである突起(バンプ:Bump)である。すなわち、セルC1、具体的には論理ヘッド番号が1のヘッド(Head1)でアクセスされるセルC1のトラック(T106,T107)に突起B4が一つ、ディフェクトとして存在している。したがって、セルC1に対しては、第2のLBA割り当て処理がなされる。また、トラックT106,T107は、トラックスキップ領域とされている。一方、セルC2には、突起などのディフェクトは存在せず、トラックスキップ領域も存在しない。したがって、セルC2に対しては、第1のLBA割り当て処理がなされる。
図3に示すように、第2のLBA割り当て処理にあたって、管理部62は、所定のパラメータを取得する(S501)。管理部62は、例えば不揮発性メモリ90に記憶されたディスク10の管理情報からLBA開始セクタ位置、セクタ数、スキュー値、シークセクタ数を読み出し、パラメータとして保持する。ここでパラメータを取得するディスク10は、対象セルにおいて論理アドレスが割り当てられる所定のディスク10である。例えば論理ヘッド番号が先頭のヘッド15でデータが読み書きされるディスク10である。以下、かかる所定のディスク10に対してデータを読み書きするヘッド15を対象ヘッドという。対象ヘッドは、例えば論理ヘッド番号の先頭から順に設定される。
また、管理部62は、論理アドレスの割り当てを開始するトラック(以下、対象トラックという)を設定する(S502)。対象トラックは、対象ヘッドでデータが読み書きされるトラックである。本実施形態では一例として、管理部62は、対象セルの最小トラックを対象トラックとしている。最小トラックは、対象セルに含まれるトラックのうち、ディスク10の半径方向の最も外側に位置するトラックである。ただし、最小トラックは対象トラックの一例であり、対象トラックは最小トラックに限定されない。例えば、対象トラックは、対象セルの最大トラック、つまり対象セルに含まれるトラックのうち、ディスク10の半径方向の最も内側に位置するトラックであってもよい。
次いで、管理部62は、対象トラックがトラックスキップ領域に含まれるか否かを判定する(S503)。判定にあたって、管理部62は、例えば不揮発性メモリ90に記憶されたPlist(ディフェクト情報)を読み出し、対象トラックがトラックスキップ領域のトラックに該当するか否かをトラック番号などで照合する。例えば、図4に示すトラックT106,T107は、トラックスキップ領域に該当する。
対象トラックがトラックスキップ領域に含まれる場合(S503においてYes)、管理部62は、次のトラック、例えば現在の対象トラックとディスク10の半径方向の内側で隣接するトラックを新たな対象トラックに変更し(S504)、新たな対象トラックがトラックスキップ領域に含まれるか否かを判定する(S503)。この場合、対象トラックがトラックスキップ領域に含まれているため、管理部62は、当該対象トラックに論理アドレスを割り当てず、ディスク10の記録領域から除外する。例えば、図4に示すトラックT106,T107は、トラックスキップ領域に含まれるため、論理アドレスは割り当てられていない。
一方、対象トラックがトラックスキップ領域に含まれない場合(S503においてNo)、管理部62は、対象トラックのセクタに論理アドレスを割り当てる(S505:LBA割り当て)。その際、管理部62は、対象トラックのLBA開始セクタ位置に該当するセクタから一意に(例えば昇順に)論理アドレスを割り当てる。例えば、図4に示すトラックT000からT010、T100からT105は、トラックスキップ領域に含まれないため、論理アドレスが割り当てられる。
そして、管理部62は、対象トラックの次のトラック(以下、次対象トラックという)、例えば当該対象トラックとディスク10の半径方向の内側で隣接するトラックがトラックスキップ領域に含まれるか否かを判定する(S506)。次対象トラックは、対象ヘッドでデータが読み書きされるトラックであり、対象トラックの次に論理アドレスの割り当て対象となるトラックである。判定にあたって、管理部62は、例えば不揮発性メモリ90に記憶されたPlistを読み出し、次対象トラックがトラックスキップ領域のトラックに該当するか否かをトラック番号などで照合する。
次対象トラックがトラックスキップ領域に含まれない場合(S506においてNo)、管理部62は、LBA開始セクタを変更する(S507)。例えば、次対象トラックが図4に示すトラックT105である場合、S506においてNoと判定される。この場合、管理部62は、LBA開始セクタ位置をスキュー値に応じてずらし、LBA開始セクタの位置を変更する。例えば、管理部62は、LBA開始セクタ位置にスキュー値を加えた値をセクタ数で割った余りを算出する。そして、管理部62は、算出した余りの分だけLBA開始セクタ位置をずらし、その位置を次対象トラックのLBA開始セクタ位置として保持する。スキュー値およびセクタ数は、ディスク10の管理情報から読み出されてパラメータとして保持されている(S501)。
管理部62は、対象セルのすべてのトラックに対して論理アドレスの割り当て要否を判定するまで、S503からS507までの処理を、対象トラックがトラックスキップ領域に含まれるか否かに応じて選択的に繰り返す(S508)。したがって、論理アドレスの割り当て要否を判定していないトラックが存在している場合(S508においてNo)、管理部62は、次対象トラック、例えば現在の対象トラックとディスク10の半径方向の内側で隣接するトラックを新たな対象トラックとし(S504)、新たな対象トラックがトラックスキップ領域に含まれるか否かを判定する(S503)。以降、かかる判定の成否に応じて新たな対象トラックに対して論理アドレスを割り当てる。
一方、すべてのトラックに対して論理アドレスの割り当て要否を判定し、判定していないトラックが存在していない場合(S508においてYes)、次対象セルにおいて論理アドレスの割り当てを開始するトラックを設定する(S509)。次対象セルは、対象セルの次のセルであり、例えば現在の対象セルとディスク10の半径方向の内側で隣接するセルである。この場合、管理部62は、現在の対象トラックの次のトラック、例えば現在の対象トラックとディスク10の半径方向の内側で隣接するトラックを次対象セルにおいて論理アドレスの割り当てを開始するトラックに設定する。すなわち、現在の対象トラックのトラック番号に1を加えたトラック番号のトラックが次対象セルにおいて論理アドレスの割り当てが開始されるトラックとして設定される。これにより、対象ヘッドでアクセスされる次対象セルにおいて論理アドレスの割り当てが開始されるトラック(新たな対象トラック)は、ここで設定されたトラックとなる。一例として、図4において対象ヘッドがヘッド0、対象セルがセルC1である場合、次対象セルはセルC2である。対象セル(セルC1)における現在の対象トラックがT010であれば、次対象セル(セルC2)において論理アドレスの割り当てが開始されるトラックはT011となる。
また、次対象トラックがトラックスキップ領域に含まれる場合(S506においてYes)、管理部62は、次対象セルにおいて論理アドレスの割り当てを開始するトラック(対象トラック)を設定する(S510)。例えば、次対象トラックが図4に示すトラックT106である場合、S506においてYesと判定される。
次対象セルの対象トラックの設定にあたって、管理部62は、パラメータとして保持したシークセクタ数(S501)に対応するトラックスキップ幅を取得する。トラックスキップ幅は、例えばシークセクタ数と紐付いてリスト(テーブル)化されて不揮発性メモリ90に記憶されている。管理部62は、シークセクタ数をキーとして前記リストを読み出し、当該シークセクタ数に紐付いたトラックスキップ幅の値を保持する。管理部62は、対象トラックのトラック番号に当該トラックスキップ幅を付加した値に1を加えた値のトラック番号のトラックを、次対象セルの対象トラックとして設定する。管理部62は、例えば設定した次対象セルの対象トラックのトラック番号を保持する。これにより、対象ヘッドでアクセスされる次対象セルにおいて論理アドレスの割り当てが開始されるトラック(新たな対象トラック)は、ここで設定されたトラックとなる。したがって、次対象セルに対して論理アドレスを割り当てる際、設定された新たな対象トラックから論理アドレスの割り当てが再開され、次対象セルの最小トラックに論理アドレスの割り当てが引き継がれる。一例として、図4において対象ヘッドがヘッド1、対象セルがセルC1である場合、対象セルC1の最小トラックT100から、トラックスキップ領域の手前のトラックT105までは、論理アドレスが割り当てられる。その後、次対象セルであるセルC2に対して論理アドレスを割り当てる際、トラックT108から論理アドレスの割り当てが再開され、最小トラックであるT111に論理アドレスの割り当てが引き継がれる。
管理部62は、対象セルのすべてのディスク10に対して論理アドレスの割り当て要否を判定するまで、S501からS510までの処理を選択的に繰り返す(S511)。したがって、論理アドレスの割り当て要否を判定していないディスク10(換言すればヘッド15)が存在している場合(S511においてNo)、管理部62は、対象ヘッドの次のヘッド15、例えば現在の対象ヘッドの次の論理ヘッド番号を持つヘッド15を新たな対象ヘッドに変更する(S512)。一例として、図4において対象ヘッドがヘッド0(論理ヘッド番号0のHead0)、対象セルがセルC1である場合、対象セルC1のトラックT010まで論理アドレスが割り当てられた後、対象ヘッドがヘッド1(論理ヘッド番号1のHead1)に変更される。次いで、対象ヘッドがヘッド1、対象セルがセルC1である場合、対象セルC1のトラックT105(トラックスキップ領域の手前のトラック)まで論理アドレスが割り当てられた後、対象ヘッドがヘッド2(論理ヘッド番号2のHead2)に変更される。
そして、管理部62は、新たな対象ヘッドに対応するディスク10についての所定のパラメータを取得する(S501)。管理部62は、例えば不揮発性メモリ90に記憶されたディスク10の管理情報からLBA開始セクタ位置、セクタ数、スキュー値を読み出し、パラメータとして保持する。以降、取得したパラメータを用いて新たな対象ヘッドに対応するディスク10に論理アドレスを割り当てる。
一方、すべてのヘッド15に対応するディスク10についてパラメータを取得し、取得していないヘッド15が存在していない場合(S511においてYes)、管理部62は、第2のLBA割り当て処理を終了する。第2のLBA割り当て処理を終了すると、管理部62は、上述した処理ステップS07(図2)に戻り、すべてのセルに対して論理アドレスを割り当てたか否かを判定する。
続いて、第3のLBA割り当て処理(S06)について説明する。第3のLBA割り当て処理は、論理アドレスの割り当てを開始するセクタの位置をディフェクトの位置に応じて変更して論理アドレスを割り当てる処理である。図5は、第3のLBA割り当て処理を行う際に管理部62が実行する制御のフローチャートである。なお、第3のLBA割り当て処理における一部の処理ステップは、第2のLBA割り当て処理の処理ステップと同一もしくは類似する内容を含む。このため、第2のLBA割り当て処理と同一もしくは類似する内容の説明については、上述した説明を適宜準用する。
図6は、第3のLBA割り当て処理による論理アドレスの割り当て態様を模式的に示す図である。図6は、第3のLBA割り当て処理がなされる所定のセルC6に含まれるn本のトラック(T0からTn)の領域を示している。図6において、横方向はトラックの配列方向であり、縦方向はセクタの配列方向であり、縦横に区画された1マスが1トラックの1セクタ分の領域である。この場合、横方向における左側がディスクの半径方向の外側に相当し、右側がディスクの半径方向の内側に相当する。また、縦方向において下方から上方へ向かう方向がディスクの回転方向に相当する。startは各々のトラックにおける先頭の論理アドレスが割り当てられたセクタ、endは各々のトラックにおける最後尾の論理アドレスが割り当てられたセクタであることを示す。星印B6は、ディフェクトである突起(バンプ:Bump)である。このため、セルC6の領域TSA(トラックTx+1からトラックTy-1の間の領域)は、トラックスキップ領域とされている。
図5に示すように、第3のLBA割り当て処理にあたって、管理部62は、所定のパラメータを取得する(S601)。管理部62は、例えば不揮発性メモリ90に記憶されたディスク10の管理情報からLBA開始セクタ位置、セクタ数、スキュー値、シークセクタ数、マージンセクタ数を読み出し、パラメータとして保持する。ここでパラメータを取得するディスク10は、論理アドレスが割り当てられる所定のディスク10であり、当該ディスク10に対してデータを読み書きするヘッド15が対象ヘッドである。対象ヘッドは、例えば論理ヘッド番号の先頭から順に設定される。
また、管理部62は、論理アドレスの割り当てを開始するトラック(対象トラック)を設定する(S602)。対象トラックは、対象ヘッドでデータが読み書きされるトラックであり、対象セルの最小トラックである。ただし、最小トラックは対象トラックの一例であり、対象トラックは最小トラックに代えて、例えば最大トラックであってもよい。
次いで、管理部62は、対象トラックがトラックスキップ領域に含まれるか否かを判定する(S603)。判定にあたって、管理部62は、例えば不揮発性メモリ90に記憶されたPlist(ディフェクト情報)を読み出し、対象トラックがトラックスキップ領域のトラックに該当するか否かをトラック番号などで照合する。
対象トラックがトラックスキップ領域に含まれる場合(S603においてYes)、管理部62は、次のトラック、例えば現在の対象トラックとディスク10の半径方向の内側で隣接するトラックを新たな対象トラックとし(S604)、新たな対象トラックがトラックスキップ領域に含まれるか否かを判定する(S603)。この場合、対象トラックがトラックスキップ領域に含まれているため、管理部62は、当該対象トラックに論理アドレスを割り当てず、ディスク10の記録領域から除外する。例えば、図6に示すトラックTx+1からTy-1は、トラックスキップ領域に含まれるため、論理アドレスは割り当てられていない。
一方、対象トラックがトラックスキップ領域に含まれない場合(S603においてNo)、管理部62は、次対象トラックがトラックスキップ領域に含まれるか否かを判定する(S605)。判定にあたって、管理部62は、例えば不揮発性メモリ90に記憶されたPlistを読み出し、次対象トラックがトラックスキップ領域のトラックに該当するか否かをトラック番号などで照合する。例えば、図6に示すトラックT1からTx、TyからTnは、トラックスキップ領域に含まれないため、論理アドレスが割り当てられる。
次対象トラックがトラックスキップ領域に含まれる場合(S605においてYes)、管理部62は、シークセクタ数を補正するとともに、ディフェクト領域を算出する(S606)。例えば、次対象トラックが図6に示すトラックTx+1である場合、S605においてyesと判定される。シークセクタ数を補正するにあたって、管理部62は、スキュー値にシークセクタ数を加えた値を算出し、算出した値を補正後のシークセクタ数として保持する。スキュー値および補正前のシークセクタ数は、ディスク10の管理情報から読み出されてパラメータとして保持されている(S601)。一例として、スキュー値は、図6に示すセクタ領域S1のセクタ数である。また一例として、シークセクタ数は、図6に示すセクタ領域S2のセクタ数である。ディフェクト領域は、ディフェクトが存在するセクタと当該セクタと近接するマージンセクタ数のセクタとを含む領域、一例として図6に示す領域DAである。管理部62は、例えば不揮発性メモリ90に記憶されたPlistを読み出してディフェクトが存在するセクタの位置を取得する。管理部62は、取得したセクタの位置、セクタ数、およびマージンセクタ数に基づいて、ディフェクト領域を算出する。例えば、管理部62は、セクタの位置にマージンセクタ数を加えた値をセクタ数で割った余りを算出する。そして、管理部62は、ディフェクトが存在するセクタ位置の前後に算出した余りの数だけセクタを付加した領域をディフェクト領域として保持する。セクタ数およびマージンセクタ数は、ディスク10の管理情報から読み出されてパラメータとして保持されている(S601)。
次いで、管理部62は、ディフェクト前セクタの位置およびディフェクト後セクタの位置をそれぞれ算出する(S607)。ディフェクト前セクタは、トラックスキップ領域の手前のトラック、つまり対象トラックにおいて最後尾の論理アドレスが割り当てられるセクタである。ディフェクト後セクタは、トラックスキップ領域を挟んで対象トラックとは反対側、例えばディスク10の半径方向の内側でトラックスキップ領域と隣接するトラック(次対象トラックに相当)において先頭の論理アドレスが割り当てられるセクタである。管理部62は、LBA開始セクタ位置から1を減じた値をセクタ数で割った余りを算出し、その値をディフェクト前セクタの位置として保持する。LBA開始セクタ位置およびセクタ数は、ディスク10の管理情報から読み出されてパラメータとして保持されている(S601)。さらに、管理部62は、ディフェクト前セクタの位置にシークセクタ数を加えた値をセクタ数で割った余りを算出し、その位置をディフェクト後セクタの位置として保持する。シークセクタ数は、S606において補正後のシークセクタ数として保持されている。
続けて、管理部62は、ディフェクト前セクタおよびディフェクト後セクタについて、ディフェクト領域への存否条件を判定する(S608)。存否条件は、ディフェクト前セクタおよびディフェクト後セクタがディフェクト領域内に存しているか否かを判定する条件である。ここでは、ディフェクト前セクタおよびディフェクト後セクタの少なくとも一方がディフェクト領域内に位置していれば、管理部62は存否条件が成立すると判定する。これに対し、ディフェクト前セクタおよびディフェクト後セクタの双方がディフェクト領域内に位置していなければ、管理部62は存否条件が成立しないと判定する。
存否条件が成立する場合(S608においてYes)、管理部62は、LBA開始セクタ位置を1つ進め(S609)、ディフェクト前セクタの位置およびディフェクト後セクタの位置をそれぞれ算出し直す(S607)。LBA開始セクタ位置を1つ進める(インクリメントする)ことは、LBA開始セクタ位置に相当するセクタの物理アドレスを1つ増やすことに相当する。そして、管理部62は、存否条件を再度判定する(S608)。すなわち、管理部62は、存否条件が成立しなくなるまで、LBA開始セクタ位置のインクリメント(S609)、ディフェクト前セクタの位置およびディフェクト後セクタの位置の算出(S607)、および存否条件の判定(S608)を繰り返す。
これに対し、存否条件が成立しない場合(S608においてNo)、つまりディフェクト前セクタおよびディフェクト後セクタの双方がディフェクト領域内に位置していない場合、管理部62は、対象トラックのセクタに論理アドレスを割り当てる(S610:LBA割り当て)。例えば、図6に示すトラックTxのセクタSxがディフェクト前セクタに該当し、トラックTyのセクタSyがディフェクト後セクタに該当する。その際、管理部62は、対象トラックのLBA開始セクタ位置に該当するセクタから一意に(例えば昇順に)論理アドレスを割り当てる。ここでのLBA開始セクタ位置は、ディスク10の管理情報から読み出されてパラメータとして保持されている値(S601)、もしくは当該パラメータ値を所定値だけ増やした値(S609)である。
そして、管理部62は、LBA開始セクタ位置を補正する(S611)。この場合、管理部62は、LBA開始セクタ位置をディフェクト後セクタのセクタ位置に変更し、保持する。これにより、次対象トラックのLBA開始セクタがディフェクト後セクタに変更される。なお、ここでの次対象トラックは、トラックスキップ領域を挟んで対象トラックとは反対側、例えばディスク10の半径方向の内側でトラックスキップ領域と隣接するトラックである。例えば、図6に矢印A6で示すように、トラックTyのセクタSyにLBA開始セクタ位置が変更される。
また、次対象トラックがトラックスキップ領域に含まれない場合(S605においてNo)、管理部62は、対象トラックのセクタに論理アドレスを割り当てる(S612)。例えば、次対象トラックが図6に示すトラックTxである場合、S605においてNoと判定される。その際、管理部62は、対象トラックのLBA開始セクタ位置に該当するセクタから一意に(例えば昇順に)論理アドレスを割り当てる。ここでのLBA開始セクタ位置は、ディスク10の管理情報から読み出されてパラメータとして保持されている値(S601)である。
続けて、管理部62は、LBA開始セクタを変更する(S613)。この場合、管理部62は、LBA開始セクタ位置をスキュー値に応じてずらし、LBA開始セクタの位置を変更する。例えば、管理部62は、LBA開始セクタ位置にスキュー値を加えた値をセクタ数で割った余りを算出する。そして、管理部62は、算出した余りの分だけLBA開始セクタ位置をずらし、その位置を次対象トラックのLBA開始セクタ位置として保持する。スキュー値およびセクタ数は、ディスク10の管理情報から読み出されてパラメータとして保持されている(S601)。
S611もしくはS613においてLBA開始セクタ位置を補正した後、管理部62は、対象セルのすべてのトラックに対して論理アドレスの割り当て要否を判定するまで、S603からS613までの処理を、対象トラックがトラックスキップ領域に含まれるか否かに応じて選択的に繰り返す(S614)。したがって、論理アドレスの割り当て要否を判定していないトラックが存在している場合(S614においてNo)、管理部62は、次対象トラック、例えば例えば現在の対象トラックとディスク10の半径方向の内側で隣接するトラックを新たな対象トラックとし(S604)、新たな対象トラックがトラックスキップ領域に含まれるか否かを判定する(S603)。以降、かかる判定の成否に応じて新たな対象トラックに対して論理アドレスを割り当てる。
一方、すべてのトラックに対して論理アドレスの割り当て要否を判定し、判定していないトラックが存在していない場合(S614においてYes)、管理部62は、対象セルのすべてのディスク10に対して論理アドレスを割り当てるまで、S601からS614までの処理を選択的に繰り返す(S615)。したがって、論理アドレスの割り当て要否を判定していないディスク10(換言すればヘッド15)が存在している場合(S615においてNo)、管理部62は、対象ヘッドの次のヘッド15、例えば現在の対象ヘッドの次の論理ヘッド番号を持つヘッド15を新たな対象ヘッドとする(S616)。そして、管理部62は、新たな対象ヘッドに対応するディスク10についての所定のパラメータを取得する(S601)。管理部62は、例えば不揮発性メモリ90に記憶されたディスク10の管理情報からLBA開始セクタ位置、セクタ数、スキュー値、シークセクタ数、マージンセクタ数を読み出し、パラメータとして保持する。以降、取得したパラメータを用いて新たな対象ヘッドに対応するディスク10に論理アドレスを割り当てる。
一方、すべてのヘッド15に対応するディスク10についてパラメータを取得し、取得していないヘッド15が存在していない場合(S615においてYes)、管理部62は、第3のLBA割り当て処理を終了する。第3のLBA割り当て処理を終了すると、管理部62は、上述した処理ステップS07(図2)に戻り、すべてのセルに対して論理アドレスを割り当てたか否かを判定する。
図2、図3、図5に示すように、管理部62は、処理選択条件(第1の処理選択条件および第2の処理選択条件)の成否に応じて、第1のLBA割り当て処理、第2のLBA割り当て処理、第3のLBA割り当て処理を選択的に実行し、すべてのセルにおけるトラックスキップ領域以外の通常記録領域に対して論理アドレスを割り当てる。これにより、LBA割り当て処理のための一連の制御が終了する。
このように実施形態に係る磁気ディスク装置1によれば、ディスク10に突起などのディフェクトが存在している場合であっても、当該突起などを跨がずに済むように論理アドレスを割り当てることができる。これにより、突起などのディフェクトとの衝突を回避できるとともに、データの読み出し時や書き込み時におけるシーケンシャル性能の低下を抑制できる。また、例えば一度の書き込みで突起を跨ぐようなデータ長を含むランダムアクセスの場合であっても、突起を避けてアクセス可能となるため、書き込み性能の低下を抑制できる。
具体的には、論理アドレスの割り当てにあたって、セルごとのディフェクト総数に応じて、第1のLBA割り当て処理、第2のLBA割り当て処理、および第3のLBA割り当て処理を選択的に行うことができる。例えば、ディフェクト総数が第1の閾値未満である場合、一例としてディフェクト総数が0である場合、第1のLBA割り当て処理を行う。これにより、対象セルにおいてすべてのヘッド15がセクタにシーケンシャルアクセスするように論理アドレスを割り当てられる。その際、隣接するトラックにおいてスキュー値だけLBA開始セクタ位置をずらすことで、回転待ちなく隣接トラックにアクセス可能となる。
また、例えばディフェクト総数が第1の閾値以上、第2の閾値未満である場合、一例として1である場合、第2のLBA割り当て処理を行う。これにより、対象セルのトラックスキップ領域の手前のトラックまで論理アドレスを割り当てた後、論理アドレスの割り当て対象ヘッドを現在ヘッドの次のヘッドに変更することができる。すなわち、トラックスキップ領域の手前でヘッドチェンジするように論理アドレスを割り当てることができる。したがって、突起などを跨ぐことなくディスク10にアクセスできる。
そして、例えばディフェクト総数が第2の閾値以上である場合、一例として2以上である場合、第3のLBA割り当て処理を行う。具体的には、ディフェクトが存在するセクタと当該セクタと近接するマージンセクタ数のセクタとを含むディフェクト領域を設定する。ディフェクト前セクタおよびディフェクト後セクタの双方がディフェクト領域内に位置しない場合、対象トラックのLBA開始セクタ位置に該当するセクタから一意に(例えば昇順に)論理アドレスを割り当てる。そして、LBA開始セクタ位置をディフェクト後セクタのセクタ位置に変更し、次対象トラックに論理アドレスを割り当てる。これにより、第2のLBA割り当て処理のみを行った場合にヘッドチェンジが何度も繰り返され、書き込み性能が低下する事態を回避できる。すなわち、ヘッドチェンジを繰り返すことなく、ディフェクトの位置に応じて論理アドレスを割り当てることができる。
したがって、トラックスキップ領域の手前でヘッドチェンジするような論理アドレスの割り当てと、ディフェクトの位置に応じた論理アドレスの割り当てとを、セルごとに選択的に実行できる。このため、本実施形態によれば、突起などのディフェクトとの衝突の回避と、データの読み書き時におけるシーケンシャル性能の低下の抑制とを効率的に図ることができる。
以上、本発明の実施形態を説明したが、上述した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。かかる新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…磁気ディスク装置、10…磁気ディスク(ディスク)、10a…ユーザデータ領域、10b…システムエリア、12…スピンドルモータ(SPM)、13…アーム、14…ボイスコイルモータ(VCM)、15…ヘッド、15W…ライトヘッド、15R…リードヘッド、20…ドライバIC、30…ヘッドアンプIC、40…リード/ライト(R/W)チャネル、50…ハードディスクコントローラ(HDC)、60…マイクロプロセッサ(MPU)、61…リード/ライト制御部、62…管理部、70…揮発性メモリ、80…バッファメモリ、90…不揮発性メモリ、100…システムコントローラ、200…ホストシステム(ホスト)。
Claims (7)
- 磁気ディスクと、
前記磁気ディスクにデータを書き込み、前記磁気ディスクから前記データを読み出すヘッドと、
前記磁気ディスクにおいて互いに隣接する複数のシリンダで構成される所定の記録領域のうち、前記所定の記録領域に存在するディフェクトに対応して規定された第1の領域のセクタには論理アドレスを割り当てず、前記第1の領域以外の第2の領域のセクタに前記論理アドレスを一意に割り当てるコントローラと、を備え、
前記コントローラは、前記所定の記録領域に存在する前記ディフェクトの数に応じて、前記第2の領域の前記セクタに対する前記論理アドレスの割り当てを異ならせる
磁気ディスク装置。 - 前記コントローラは、
前記ディフェクトの数が第1の閾値未満である場合、前記第2の領域において前記ヘッドが前記第2の領域の前記セクタにシーケンシャルにアクセスするように前記論理アドレスを割り当てる第1の割り当て処理を実行し、
前記ディフェクトの数が前記第1の閾値以上、前記第1の閾値よりも大きな第2の閾値未満である場合、前記第1の領域の手前に位置するトラックまで前記データを読み書きした後、前記ヘッドが別ヘッドにチェンジされて前記データを読み書きするように前記論理アドレスを割り当てる第2の割り当て処理を実行し、
前記ディフェクトの数が前記第2の閾値以上である場合、前記第2の領域において前記論理アドレスの割り当てを開始する前記セクタの位置を前記ディフェクトの位置に応じて変更して前記論理アドレスを割り当てる第3の割り当て処理を実行する
請求項1に記載の磁気ディスク装置。 - 前記第2の割り当て処理において、前記コントローラは、
前記論理アドレスを割り当てる前記セクタを含む対象トラックの次に前記論理アドレスを割り当てる次対象トラックが前記第1の領域に含まれない場合、前記次対象トラックにおいて前記論理アドレスの割り当てを開始する割り当て開始セクタの位置を前記次対象トラックに対する前記ヘッドのスキュー値に応じて変更し、
前記次対象トラックが前記第1の領域に含まれる場合、前記対象トラックの次に前記論理アドレスを割り当てるトラックを前記第1の領域に含まれるトラックの数に応じて設定する
請求項2に記載の磁気ディスク装置。 - 前記第3の割り当て処理において、前記コントローラは、
前記論理アドレスを割り当てる前記セクタを含む対象トラックの次に前記論理アドレスを割り当てる次対象トラックが前記第1の領域に含まれない場合、前記対象トラックの前記セクタに前記論理アドレスを割り当て、
前記次対象トラックが前記第1の領域に含まれる場合、前記次対象トラックに対する前記ヘッドのスキュー値と、前記第1の領域に含まれるトラック数を前記ヘッドがシークするために要する時間に応じて設定されるシークセクタ数と、前記ディフェクトが存在する前記セクタおよび当該セクタと近接する所定数のセクタを含むディフェクト領域とに基づいて、前記対象トラックにおいて最後尾の論理アドレスが割り当てられる前記セクタであるディフェクト前セクタの位置と、前記次対象トラックにおいて先頭の論理アドレスが割り当てられる前記セクタであるディフェクト後セクタの位置をそれぞれ算出する
請求項2に記載の磁気ディスク装置。 - 前記コントローラは、前記ディフェクト前セクタと前記ディフェクト後セクタの双方が前記ディフェクト領域に位置していない場合、前記対象トラックの前記セクタに前記論理アドレスを割り当て、前記次対象トラックにおいて前記論理アドレスの割り当てを開始する割り当て開始セクタの位置を前記ディフェクト後セクタの位置とする
請求項4に記載の磁気ディスク装置。 - 前記第1の領域は、前記ディフェクトが存在する前記セクタを持つトラックと、当該トラックに隣接して前記ディフェクトが存在しないトラックとを含む領域である
請求項1から5のいずれか一項に記載の磁気ディスク装置。 - 磁気ディスクにおいて互いに隣接する複数のシリンダで構成される所定の記録領域を、前記所定の記録領域に存在するディフェクトに対応して規定されて論理アドレスが割り当てられない第1の領域と、前記第1の領域以外の領域で前記論理アドレスが一意に割り当てられた第2の領域とに区分し、
前記ディフェクトの数が第1の閾値未満である場合、前記第2の領域においてデータを読み書きするヘッドが前記第2の領域のセクタにシーケンシャルにアクセスするように前記論理アドレスを割り当て、
前記ディフェクトの数が前記第1の閾値以上、前記第1の閾値よりも大きな第2の閾値未満である場合、前記第1の領域の手前に位置するトラックまで前記データを読み書きした後、前記ヘッドが別ヘッドにチェンジされて前記データを読み書きするように前記論理アドレスを割り当て、
前記ディフェクトの数が前記第2の閾値以上である場合、前記第2の領域において前記論理アドレスの割り当てを開始する前記セクタの位置を前記ディフェクトの位置に応じて変更して前記論理アドレスを割り当てる
磁気ディスク装置の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022013046A JP2023111270A (ja) | 2022-01-31 | 2022-01-31 | 磁気ディスク装置、および磁気ディスク装置の制御方法 |
CN202210553731.3A CN116564358A (zh) | 2022-01-31 | 2022-05-19 | 磁盘装置以及磁盘装置的控制方法 |
US17/817,463 US11907113B2 (en) | 2022-01-31 | 2022-08-04 | Magnetic disk device and control method of magnetic disk device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022013046A JP2023111270A (ja) | 2022-01-31 | 2022-01-31 | 磁気ディスク装置、および磁気ディスク装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023111270A true JP2023111270A (ja) | 2023-08-10 |
Family
ID=87432067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022013046A Pending JP2023111270A (ja) | 2022-01-31 | 2022-01-31 | 磁気ディスク装置、および磁気ディスク装置の制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11907113B2 (ja) |
JP (1) | JP2023111270A (ja) |
CN (1) | CN116564358A (ja) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348597A (ja) * | 1993-06-08 | 1994-12-22 | Hitachi Ltd | キャッシュ制御方法および回転形記憶装置 |
WO1995029437A1 (fr) * | 1994-04-22 | 1995-11-02 | Sony Corporation | Dispositif et methode pour transmettre des donnees et dispositif et methode pour enregistrer des donnees |
US6223303B1 (en) * | 1998-06-29 | 2001-04-24 | Western Digital Corporation | Disk drive having two tiered defect list comprising marginal and reserved data sectors |
JP2000090645A (ja) * | 1998-09-08 | 2000-03-31 | Sony Corp | ファイル管理装置および方法、並びに提供媒体 |
JP2006269027A (ja) * | 2005-03-25 | 2006-10-05 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置 |
JP4489125B2 (ja) * | 2008-01-31 | 2010-06-23 | 株式会社東芝 | ハードディスク装置およびヘッド位置決め方法 |
US7804661B2 (en) * | 2008-12-01 | 2010-09-28 | Seagate Technology Llc | Microactuator control that avoids thermal asperities on disk surfaces |
US9251823B1 (en) * | 2014-12-10 | 2016-02-02 | Western Digital Technologies, Inc. | Data storage device delaying seek operation to avoid thermal asperities |
US9928871B2 (en) * | 2015-10-01 | 2018-03-27 | Kabushiki Kaisha Toshiba | Storage device and a method for defect scanning of the same |
US9947353B1 (en) * | 2017-07-26 | 2018-04-17 | Seagate Technology Llc | Magnetic recording system employing passive thermal asperity avoidance |
-
2022
- 2022-01-31 JP JP2022013046A patent/JP2023111270A/ja active Pending
- 2022-05-19 CN CN202210553731.3A patent/CN116564358A/zh active Pending
- 2022-08-04 US US17/817,463 patent/US11907113B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230244597A1 (en) | 2023-08-03 |
CN116564358A (zh) | 2023-08-08 |
US11907113B2 (en) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10141013B1 (en) | Shingled magnetic recording device capable of setting track-pitch at target track and two adjacent tracks | |
JP6419687B2 (ja) | 磁気ディスク装置、及び書き込み方法 | |
US20180174615A1 (en) | Storage device and a method for defect scanning of the same | |
US10658004B2 (en) | Magnetic disk device and write processing method | |
JP2019164855A (ja) | 磁気ディスク装置及びrro補正データのライト方法 | |
JP2020149757A (ja) | 磁気ディスク装置及びライト処理方法 | |
US10872040B2 (en) | Magnetic disk device and recording method of the same | |
JP2019053800A (ja) | 磁気ディスク装置、および、制御方法 | |
US11508398B2 (en) | Magnetic disk device and control method for magnetic disk device | |
JP2023111270A (ja) | 磁気ディスク装置、および磁気ディスク装置の制御方法 | |
CN112447194A (zh) | 磁盘装置以及磁盘装置的控制方法 | |
JP2019164869A (ja) | 磁気ディスク装置及びリード処理方法 | |
CN116343831A (zh) | 磁盘装置及dol的设定方法 | |
CN114155905A (zh) | 磁盘装置的数据管理方法及磁盘装置 | |
JP2021136045A (ja) | 磁気ディスク装置及びライトリトライ処理方法 | |
US20190295593A1 (en) | Magnetic disk device and method of controlling the same | |
JP2019160376A (ja) | 磁気ディスク装置及びリフレッシュ処理方法 | |
US11495263B2 (en) | Magnetic disk device and setting method of recording region | |
US11508409B2 (en) | Magnetic disk device and write processing method | |
US20160170891A1 (en) | Disk apparatus and control method | |
US20170068474A1 (en) | Method of managing defects in recording medium and storage apparatus | |
CN115620753A (zh) | 磁盘装置 | |
JP2023043617A (ja) | 磁気ディスク装置及びスパイラルパターンのライト方法 | |
JP2022038290A (ja) | 磁気ディスク装置 | |
CN115910124A (zh) | 磁盘装置、磁盘装置的控制方法以及程序 |