JP2022143899A - 磁気ディスク装置 - Google Patents

磁気ディスク装置 Download PDF

Info

Publication number
JP2022143899A
JP2022143899A JP2021044666A JP2021044666A JP2022143899A JP 2022143899 A JP2022143899 A JP 2022143899A JP 2021044666 A JP2021044666 A JP 2021044666A JP 2021044666 A JP2021044666 A JP 2021044666A JP 2022143899 A JP2022143899 A JP 2022143899A
Authority
JP
Japan
Prior art keywords
track
sector
sectors
error
parity
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
Application number
JP2021044666A
Other languages
English (en)
Inventor
佳奈 古橋
Kana Furuhashi
弘之 武田
Hiroyuki Takeda
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
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage 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, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2021044666A priority Critical patent/JP2022143899A/ja
Priority to CN202110968094.1A priority patent/CN115114074A/zh
Priority to US17/462,379 priority patent/US20220301590A1/en
Publication of JP2022143899A publication Critical patent/JP2022143899A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B20/1889Methods for assignment of alternate areas for defective areas with discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1258Formatting, e.g. arrangement of data block or words on the record carriers on discs where blocks are arranged within multiple radial zones, e.g. Zone Bit Recording or Constant Density Recording discs, MCAV discs, MCLV discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1232Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc sector, i.e. the minimal addressable physical data unit
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1238Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】 処理性能を向上可能な磁気ディスク装置を提供することである。【解決手段】 本実施形態に係る磁気ディスク装置は、ディフェクトを含む複数の第1エラーセクタ、及び第1パリティセクタを有する第1トラックと第2パリティセクタを有する第2トラックとメディアキャッシュとを含むディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、ディフェクトを管理する監視セクタ管理部と、前記監視セクタ管理部で前記第1エラーセクタが管理されている場合に、前記第1トラックの一部の第1領域にライトデータをライトするライトコマンドを受けた場合、前記第1トラックの前記第1領域のセクタと第1パリティセクタ以外の全セクタをXOR演算した後に、前記第1領域に前記ライトデータと、前記ライトデータと前記XOR演算した結果を前記第1パリティセクタにライトするコントローラと、を備える。【選択図】図1

Description

本発明の実施形態は、磁気ディスク装置に関する。
磁気ディスク装置は、所定のセクタをリードできない場合に、セクタに付加されている訂正コードに基づいてこのセクタを訂正し、このセクタを再度リードする。磁気ディスク装置は、このセクタに対応する訂正コードによりこのセクタを訂正(救済又は復旧)できない場合にこのセクタを含むトラックに対応するパリティセクタに基づいて、このセクタを訂正するエラー訂正機能を有し得る。磁気ディスク装置は、所定のトラックの各セクタを排他的論理和(Exclusive OR:XOR)演算した結果をパリティセクタとしてこのトラックにライトする。磁気ディスク装置は、所定のトラックの一部のセクタをライト(又は上書き)する場合、このトラックをリードしてパリティセクタを書き換えるリードモディファイライトを実行する。
米国特許第7702954号明細書 米国特許第5596709号明細書 米国特許出願公開第2012/0154947号明細書
本発明の実施形態が解決しようとする課題は、処理性能を向上可能な磁気ディスク装置を提供することである。
本実施形態に係る磁気ディスク装置は、ディフェクトを含む複数の第1エラーセクタ、及び第1パリティセクタを有する第1トラックと第2パリティセクタを有する第2トラックとメディアキャッシュとを含むディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、ディフェクトを管理する監視セクタ管理部と、前記監視セクタ管理部で前記第1エラーセクタが管理されている場合に、前記第1トラックの一部の第1領域にライトデータをライトするライトコマンドを受けた場合、前記第1トラックの前記第1領域のセクタと第1パリティセクタ以外の全セクタをXOR演算した後に、前記第1領域に前記ライトデータと、前記ライトデータと前記XOR演算した結果を前記第1パリティセクタにライトするコントローラと、を備える。
図1は、実施形態に係る磁気ディスク装置の構成を示すブロック図である。 図2は、実施形態に係るディスクの一例を示す模式図である。 図3は、通常記録処理の一例を示す模式図である。 図4は、瓦記録処理の一例を示す模式図である。 図5は、実施形態に係る監視対象セクタ及びパリティセクタの一例を示す模式図である。 図6は、パリティセクタの更新方法の一例を示すフローチャートである。 図7は、実施形態に係る無効パリティセクタを含むトラックにおける監視対象セクタの設定方法の一例を示すフローチャートである。 図8は、実施形態に係る有効パリティセクタを含むトラックにおける監視対象セクタの設定方法の一例を示すフローチャートである。 図9は、実施形態に係るライト処理方法の一例を示すフローチャートである。 図10は、変形例1に係る磁気ディスク装置の構成を示すブロック図である。 図11は、変形例1に係るリアサイン処理方法の一例を示す模式図である。 図12は、変形例1に係るリアサイン方法の一例を示すフローチャートである。 図13は、変形例2に係るライト処理方法の一例を示すフローチャートである。 図14は、変形例2に係るリードモディファイライト処理の一例を示すフローチャートである。 図15は、変形例3に係るリード処理方法の一例を示すフローチャートである。 図16は、変形例4に係る監視対象セクタの設定方法の一例を示すフローチャートである。
以下、実施の形態について図面を参照して説明する。なお、図面は、一例であって、発明の範囲を限定するものではない。
(実施形態)
図1は、実施形態に係る磁気ディスク装置1の構成を示すブロック図である。
磁気ディスク装置1は、後述するヘッドディスクアセンブリ(HDA)と、ドライバIC20と、ヘッドアンプ集積回路(以下、ヘッドアンプIC、又はプリアンプ)30と、揮発性メモリ70と、不揮発性メモリ80と、バッファメモリ(バッファ)90と、1チップの集積回路であるシステムコントローラ130とを備える。また、磁気ディスク装置1は、ホストシステム(以下、単に、ホストと称する)100と接続される。
HDAは、磁気ディスク(以下、ディスクと称する)10と、スピンドルモータ(以下、SPMと称する)12と、ヘッド15を搭載しているアーム13と、ボイスコイルモータ(以下、VCMと称する)14とを有する。ディスク10は、SPM12に取り付けられ、SPM12の駆動により回転する。アーム13及びVCM14は、アクチュエータを構成している。アクチュエータは、VCM14の駆動により、アーム13に搭載されているヘッド15をディスク10の所定の位置まで移動制御する。ディスク10およびヘッド15は、2つ以上の数が設けられてもよい。
ディスク10は、そのデータをライト可能な領域に、ユーザから利用可能なユーザデータ領域10aと、ホスト等から転送されたデータ(又はコマンド)をユーザデータ領域10aの所定の領域にライトする前に一時的に保持するメディアキャッシュ(又は、メディアキャッシュ領域と称する場合もある)10bと、システム管理に必要な情報をライトするシステムエリア10cとが割り当てられている。なお、メディアキャッシュ10bは、ディスク10に配置されていなくともよい。以下、ディスク10の内周から外周へ向かう方向、又はディスク10の外周から内周へ向かう方向を半径方向と称する。半径方向において、内周から外周へ向かう方向を外方向(外側)と称し、内周から外周へ向かう方向を内方向(内側)と称する。ディスク10の半径方向に直交する方向を円周方向と称する。円周方向は、ディスク10の円周に沿った方向に相当する。また、ディスク10の半径方向の所定の位置を半径位置と称し、ディスク10の円周方向の所定の位置を円周位置と称する場合もある。半径位置及び円周位置をまとめて単に位置と称する場合もある。なお、“トラック”は、ディスク10の半径方向に区分した複数の領域の内の1つの領域、所定の半径位置におけるヘッド15の経路、ディスク10の円周方向に延長するデータ、所定の半径位置のトラックにライトされた1周分のデータ、ディスク10の所定のトラックにライトされたデータ、ディスク10の所定のトラックにライトされたデータの一部や、その他の種々の意味で用いる。“セクタ”は、ディスク10の所定のトラックを円周方向に区分した複数の領域の内の1つの領域、ディスク10の所定の半径位置における所定の円周位置にライトされたデータ、ディスク10の所定のトラックの所定のセクタにライトされたデータや、その他の種々の意味で用いる。“トラックの半径方向の幅”を“トラック幅”と称する場合もある。“所定のトラックにおけるトラック幅の中心位置を通る経路”を“トラックセンタ”と称する。
ヘッド15は、スライダを本体として、当該スライダに実装されているライトヘッド15Wとリードヘッド15Rとを備える。ライトヘッド15Wは、ディスク10にデータをライトする。リードヘッド15Rは、ディスク10にライトされたデータをリードする。なお、“ライトヘッド15W”を単に“ヘッド15”と称する場合もあるし、“リードヘッド15R”を単に“ヘッド15”と称する場合もあるし、“ライトヘッド15W及びリードヘッド15R”をまとめて“ヘッド15”と称する場合もある。“ヘッド15の中心部”を“ヘッド15”と称し、“ライトヘッド15Wの中心部”を“ライトヘッド15W”と称し、“リードヘッド15Rの中心部”を“リードヘッド15R”と称する場合もある。“ライトヘッド15Wの中心部”を単に“ヘッド15”と称する場合もあるし、“リードヘッド15Rの中心部”を単に“ヘッド15”と称する場合もある。“ヘッド15の中心部を所定のトラックのトラックセンタに位置決めする”ことを“ヘッド15を所定のトラックに位置決めする”、“ヘッド15を所定のトラックに配置する”、又は“ヘッド15を所定のトラックに位置する”等で表現する場合もある。
図2は、本実施形態に係るディスク10の一例を示す模式図である。図2に示すように、円周方向において、ディスク10の回転する方向を回転方向と称する。なお、図2に示した例では、回転方向は、反時計回りで示しているが、逆向き(時計回り)であってもよい。図2において、ディスク10は、内方向に位置する内周領域IRと、外方向に位置する外周領域ORと、内周領域IR及び外周領域ORの間に位置する中周領域MRとに区分されている。
図2に示した例では、ディスク10は、ユーザデータ領域10a、メディアキャッシュ10b、及びシステムエリア10cを含む。図2では、ユーザデータ領域10a、メディアキャッシュ10b、及びシステムエリア10cは、外方向に向かって記載の順に配置されている。図2では、メディアキャッシュ10bは、ユーザデータ領域10aの外方向に隣接して配置されている。言い換えると、メディアキャッシュ10bは、ユーザデータ領域10a及びシステムエリア10cの間に配置されている。ここで、“隣接”とは、データ、物体、領域、及び空間等が接して並んでいることはもちろん、所定の間隔を置いて並んでいることも含む。図2では、システムエリア10cは、メディアキャッシュ10bの外方向に隣接して配置されている。なお、ユーザデータ領域10a、メディアキャッシュ10b、及びシステムエリア10cの配置の順序は、図2に示した順序に制限されるものではなく、任意の順序を取り得る。また、メディアキャッシュ10bがディスク10に配置されていない場合、システムエリア10cは、ユーザデータ領域10aの外方向に隣接して配置され得る。
図2に示した例では、ユーザデータ領域10aは、半径方向において、内周領域IRから外周領域ORに亘って配置されている。図2に示した例では、メディアキャッシュ10bは、半径方向において、外周領域ORに配置されている。なお、メディアキャッシュ10bは、内周領域IR又は中周領域MRに位置していてもよい。また、メディアキャッシュ10bは、外周領域OR、中周領域MR、及び内周領域IRに分散して位置していてもよい。図2に示した例では、システムエリア10cは、半径方向において、外周領域ORに配置されている。言い換えると、システムエリア10cは、外周領域ORの所定の位置からディスク10の最外周に亘って配置されている。なお、システムエリア10cは、中周領域MR又は内周領域IRに配置されていてもよい。
ディスク10のユーザデータ領域10aには、所定のトラックの半径方向の一部に次にライトするトラックを重ね書きする瓦記録(Shingled Write Magnetic Recording : SMR、又はShingled Write Recording : SWR)型式でデータがライトされ得る。なお、ユーザデータ領域10aには、所定のトラックに半径方向で隣接するトラック(以下、隣接トラックと称する場合もある)をこの所定のトラックから半径方向に所定の間隔を空けてライトする、又はランダムにデータをライト可能な通常記録(Conventional Magnetic Recording : CMR)型式でデータがライトされてもよい。以下、”瓦記録型式でデータをライトする“ことを単に”瓦記録する“、”瓦記録処理を実行する“、又は単に”ライトする“と称する場合もある。”通常記録処理“以外のライト処理を”瓦記録処理“と称する場合もある。また、“通常記録型式でデータをライトする”ことを単に“通常記録する”、“通常記録処理を実行する”、又は単に“ライトする”と称する場合もある。
図2に示すように、ヘッド15は、ディスク10に対してVCM14の駆動により回転軸周りで回転して内方向から外方向に向かって移動して所定の位置に配置される、又は外方向から内方向に向かって移動して所定の位置に配置される。
ドライバIC20は、システムコントローラ130(詳細には、後述するMPU60)の制御に従って、SPM12およびVCM14の駆動を制御する。
ヘッドアンプIC(プリアンプ)30は、リードアンプ及びライトドライバ等を備えている。リードアンプは、ディスク10からリードしたリード信号を増幅して、システムコントローラ130(詳細には、後述するリード/ライト(R/W)チャネル40)に出力する。ライトドライバは、R/Wチャネル40から出力される信号に応じたライト電流をヘッド15に出力する。
揮発性メモリ70は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ70は、磁気ディスク装置1の各部での処理に必要なデータ等を格納する。揮発性メモリ70は、例えば、DRAM(Dynamic Random Access Memory)、又はSDRAM(Synchronous Dynamic Random Access Memory)である。
不揮発性メモリ80は、電力供給が断たれても保存しているデータを記録する半導体メモリである。不揮発性メモリ80は、例えば、NOR型またはNAND型のフラッシュROM(Flash Read Only Memory :FROM)である。
バッファメモリ90は、磁気ディスク装置1とホスト100との間で送受信されるデータ等を一時的に記録する半導体メモリである。なお、バッファメモリ90は、揮発性メモリ70と一体に構成されていてもよい。バッファメモリ90は、例えば、DRAM、SRAM(Static Random Access Memory)、SDRAM、FeRAM(Ferroelectric Random Access memory)、又はMRAM(Magnetoresistive Random Access Memory)等である。
システムコントローラ(コントローラ)130は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(SoC)と称される大規模集積回路(LSI)を用いて実現される。システムコントローラ130は、リード/ライト(R/W)チャネル40と、ハードディスクコントローラ(HDC)50と、マイクロプロセッサ(MPU)60と、を含む。システムコントローラ130は、例えば、ドライバIC20、ヘッドアンプIC30、揮発性メモリ70、不揮発性メモリ80、バッファメモリ90、及びホストシステム100等に電気的に接続されている。
R/Wチャネル40は、後述するMPU60からの指示に応じて、ディスク10からホスト100に転送されるデータ(以下、リードデータと称する場合もある)とホスト100から転送されるデータ(以下、ライトデータと称する場合もある)との信号処理を実行する。R/Wチャネル40は、ライトデータを変調する回路、又は機能を有している。R/Wチャネル40は、リードデータの信号品質を測定及び復調する回路、又は機能を有している。R/Wチャネル40は、例えば、ヘッドアンプIC30、HDC50、及びMPU60等に電気的に接続されている。
HDC50は、データの転送を制御する。例えば、HDC50は、後述するMPU60からの指示に応じて、ホスト100とディスク10との間のデータの転送を制御する。HDC50は、例えば、R/Wチャネル40、MPU60、揮発性メモリ70、不揮発性メモリ80、及びバッファメモリ90等に電気的に接続されている。
MPU60は、磁気ディスク装置1の各部を制御するメインコントローラである。MPU60は、ドライバIC20を介してVCM14を制御し、ヘッド15の位置決めを行なうサーボ制御を実行する。MPU60は、ドライバIC20を介してSPM12を制御し、ディスク10を回転させる。MPU60は、ディスク10へのデータのライト動作を制御すると共に、ホスト100から転送されるデータ、例えば、ライトデータの保存先を選択する。また、MPU60は、ディスク10からのデータのリード動作を制御すると共に、ディスク10からホスト100に転送されるデータ、例えば、リードデータの処理を制御する。また、MPU60は、データを記録する領域を管理する。MPU60は、磁気ディスク装置1の各部に接続されている。MPU60は、例えば、ドライバIC20、R/Wチャネル40、及びHDC50等に電気的に接続されている。
MPU60は、リード/ライト制御部610、エラー検出部620、エラー訂正部630、パリティセクタ管理部640、及び監視対象セクタ管理部650等を有している。MPU60は、各部、例えば、リード/ライト制御部610、エラー検出部620、エラー訂正部630、パリティセクタ管理部640、及び監視対象セクタ管理部650等の処理をファームウェア上で実行する。なお、MPU60は、各部、例えば、リード/ライト制御部610、エラー検出部620、エラー訂正部630、パリティセクタ管理部640、及び監視対象セクタ管理部650等を回路として有していてもよい。リード/ライト制御部610、エラー検出部620、エラー訂正部630、パリティセクタ管理部640、及び監視対象セクタ管理部650等は、R/Wチャネル40又はHDC50に含まれていてもよい。
リード/ライト制御部610は、ホスト100からのコマンド等に従って、ディスク10からデータをリードするリード処理とディスク10にデータをライトするライト処理とを制御する。リード/ライト制御部610は、ドライバIC20を介してVCM14を制御し、ヘッド15をディスク10の所定の位置に位置決めし、リード処理又はライト処理を実行する。以下、所定の領域にデータを記録若しくはライトすること(又はライト処理)、所定の領域からデータを読み出す若しくはリードすること(又はリード処理)や、所定の領域にヘッド15等を移動させることを含む意味で“アクセス”という用語を用いる場合もある。
リード/ライト制御部610は、例えば、所定のトラック又は所定のセクタから半径方向に所定の間隔(ギャップ)を置いてこのトラック又はこのセクタに隣接する他のトラック(以下、隣接トラックと称する場合もある)又は他のセクタ(以下、隣接セクタと称する場合もある)にデータをライトする通常記録(Conventional Magnetic Recording:CMR)型式でライト処理を実行する。”隣接トラック”は、“所定のトラックの外方向に隣接するトラック”、“所定のトラックの内方向に隣接トラック”、及び“所定のトラックの外方向及び内方向に隣接する複数のトラック”を含む。”隣接セクタ”は、“所定のセクタの外方向に隣接するセクタ”、“所定のセクタの内方向に隣接セクタ”、及び“所定のセクタの外方向及び内方向に隣接する複数のセクタ”を含む。以下、“通常記録型式でデータをライトする“ことを”通常記録する“、”通常記録処理を実行する“、又は単に”ライトする“と称する場合もある。
なお、リード/ライト制御部610は、複数のトラックをシーケンシャルにライトする際に1つ前にライトしたトラックの半径方向の一部に次にライトするトラックを重ね書きする瓦記録(Shingled write Magnetic Recording:SMR、又はShingled Write Recording:SWR)型式でライト処理を実行してもよい。以下、”瓦記録型式でデータをライトする“ことを”瓦記録する“、又は”瓦記録処理を実行する“、又は単に”ライトする“と称する場合もある。
図3は、通常記録処理の一例を示す模式図である。図3には、進行方向を示している。円周方向においてディスク10に対してヘッド15がデータをシーケンシャルにライト及びリードする方向、つまり、円周方向においてディスク10に対してヘッド15が進行する方向を進行方向と称する場合もある。例えば、進行方向は、ディスク10の回転方向とは反対向きである。なお、進行方向は、ディスク10の回転方向と同じ向きであってもよい。図3には、トラックCTR1、CTR2、及びCTR3を示している。図3では、例えば、トラックCTR1、CTR2、及びCTR3のトラック幅は、同じである。なお、トラックCTR1乃至CTR3のトラック幅は、異なっていてもよい。“同じ”、“同一”、“一致”、及び“同等”などの用語は、全く同じという意味はもちろん、実質的に同じであると見做せる程度に異なるという意味を含む。図3には、トラックCTR1のトラックセンタCTC1、トラックCTR2のトラックセンタCTC2、及びトラックCTR3のトラックセンタCTC3を示している。図3に示した例では、トラックCTR1、CTR2、及びCTR3は、トラックピッチCTPでライトされている。トラックCTR1のトラックセンタCTC1とトラックCTR2のトラックセンタCTC2とは、トラックピッチCTPで離れている。トラックCTR2のトラックセンタCTC2とトラックCTR3のトラックセンタCTC3とは、トラックピッチCTPで離れている。トラックCTR1及びトラックCTR2は、ギャップGPで離れている。トラックCTR2及びトラックCTR3は、ギャップGPで離れている。なお、トラックCTR1乃至CTR3は、異なるトラックピッチでライトされていてもよい。図3では、説明の便宜上、各トラックを所定のトラック幅で円周方向に延出している長方形状に示しているが、実際には、円周方向に沿って湾曲している。また、各トラックは、半径方向に変動しながら円周方向に延出している波状であってもよい。
図3に示した例では、MPU60は、ディスク10の所定の領域、例えば、ユーザデータ領域10aにおいて、トラックセンタCTC1にヘッド15を位置決めしてトラックCTR1又はトラックCTR1の所定のセクタを通常記録する。MPU60は、ユーザデータ領域10aにおいて、トラックCTR1のトラックセンタCTC1から内方向にトラックピッチCTPで離間しているトラックセンタCTC2にヘッド15を位置決めしてトラックCTR2又はトラックCTR2の所定のセクタを通常記録する。MPU60は、ユーザデータ領域10aにおいて、トラックCTR2のトラックセンタCTC2から内方向にトラックピッチCTPで離間しているトラックセンタCTC3にヘッド15を位置決めしてトラックCTR3又はトラックCTR3の所定のセクタを通常記録する。MPU60は、ディスク10の所定の領域、例えば、ユーザデータ領域10aにおいて、トラックCTR1、CTR2、及びCTR3をシーケンシャルに通常記録してもよいし、トラックCTR1の所定のセクタ、トラックCTR2の所定のセクタ、及びトラックCTR3の所定のセクタにランダムに通常記録してもよい。
図4は、瓦記録処理の一例を示す模式図である。図4には、順方向を示している。半径方向において複数のトラックを連続的に瓦記録する方向、つまり、半径方向において1つ前にライトしたトラックに対して次にライトするトラックを重ねる方向を順方向と称する場合もある。図4では、半径方向において内方向を順方向としているが、半径方向において外方向を順方向としてもよい。図4には、半径方向において一方向に連続的に重ね書きされた複数のトラックSTR1、STR2、及びSTR3を示している。以下、瓦記録では、ライトヘッド15Wによりデータがライトされた領域をライトトラックと称し、所定のトラックにおいて他のライトトラックが重ね書きされた領域以外の残りの領域をリードトラックと称する場合もある。図4には、他のトラックが重ね書きされていない場合のトラックSTR1のトラックセンタSTC1と、他のトラックが重ね書きされていない場合のトラックSTR2のトラックセンタSTC2と、他のトラックが重ね書きされていない場合のトラックSTR3のトラックセンタSTC3とを示している。図4に示した例では、トラックSTR1、STR2、及びSTR3は、トラックピッチSTPでライトされている。トラックSTR1のトラックセンタSTC1とトラックSTR2のトラックセンタSTC2とは、トラックピッチSTPで離れている。トラックSTR2のトラックセンタSTC2とトラックSTR3のトラックセンタSTC3とは、トラックピッチSTPで離れている。トラックSTR1乃至STR3は、異なるトラックピッチでライトされていてもよい。図4において、トラックSTR1においてトラックSTR2が重ね書きされていない領域の半径方向の幅と、トラックSTR2においてトラックSTR3が重ね書きされていない領域の半径方向の幅とは、同じである。なお、トラックSTR1においてトラックSTR2が重ね書きされていない領域の半径方向の幅と、トラックSTR2においてトラックSTR3が重ね書きされていない領域の半径方向の幅とは、異なっていてもよい。図4では、説明の便宜上、各トラックを所定のトラック幅で円周方向に延出している長方形状に示しているが、実際には、円周方向に沿って湾曲している。また、各トラックは、半径方向に変動しながら円周方向に延出している波状であってもよい。なお、図4では、3つのトラックを重ね書きしているが、3つ未満、又は3つよりも多くのトラックを重ね書きしてもよい。
図4に示した例では、MPU60は、トラックSTR1乃至STR3を内方向に向かってトラックピッチSTPでシーケンシャルに瓦記録する。なお、MPU60は、トラックSTR1乃至STR3を外方向に向かってトラックピッチSTPでシーケンシャルに瓦記録してもよい。MPU60は、トラックSTR1の内方向にトラックピッチSTPでトラックSTR2をライトし、トラックSTR1の内方向の一部にトラックSTR2を重ね書きする。MPU60は、トラックSTR2の内方向にトラックピッチSTPでトラックSTR3をライトし、トラックSTR2の内方向の一部にトラックSTR3を重ね書きする。
エラー検出部620は、エラーが生じているデータ、セクタ、及び領域等を検出する。例えば、エラー検出部620は、リードできないデータ(以下、リードエラーデータ又はエラーデータと称する場合もある)又はリードできないセクタ(以下、リードエラーセクタ又はエラーセクタと称する場合もある)を検出する。エラーデータ及びエラーセクタは、例えば、ディフェクト、ヘッド15のずれ、及び隣接トラックのずれ等に起因して生じ得る。
エラー訂正部630は、エラーデータ又はエラーセクタを復旧(訂正、救済、又はエラー訂正)する。エラー訂正部630は、エラーデータ又はエラーセクタを複数回リードするリードリトライを実行する。また、エラー訂正部630は、誤り訂正符号(Error Correction Code)に基づいてデータ又はセクタのエラー(誤り)を訂正する処理(以下、ECC処理又はエラー訂正処理と称する場合もある)を実行する。エラー訂正部630は、所定のトラックのエラーデータ又はエラーセクタに対応するECC(以下、セクタECCと称する場合もある)に基づいて、ECC処理(以下、セクタECC処理と称する場合もある)をこのエラーセクタに実行する。エラー訂正部630は、所定のトラックのエラーデータ又はエラーセクタに対応するECC(以下、トラックECCと称する場合もある)に基づいて、ECC処理(以下、トラックECC処理と称する場合もある)をこのエラーセクタに実行する。例えば、エラー訂正部630は、所定のトラックに対応するパリティデータ、又はパリティセクタに基づいて、このトラックのエラーセクタをトラックECC処理する。エラー訂正部630は、例えば、エラーセクタに関連する情報(以下、エラーセクタ情報と称する場合もある)を所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に記録する。
パリティセクタ管理部640は、排他的論理和(Exclusive OR:XOR)演算してパリティセクタ(又はパリティデータ)を算出し、パリティセクタ(又はパリティデータ)をライトし、このパリティセクタ(又はパリティデータ)を管理する。パリティセクタ(又はパリティデータ)は、例えば、パリティビット、及びパリティ検出符号を含む。
パリティセクタ管理部640は、所定の領域のデータにXOR演算してパリティセクタを算出し、算出したパリティセクタをディスク10の所定の領域にライトする。パリティセクタ管理部640は、所定のトラックの全てのセクタにXOR演算してパリティセクタを算出し、算出したパリティセクタをこのトラックにライトする。なお、パリティセクタ管理部640は、所定のトラックの一部のセクタにXOR演算してパリティセクタを算出し、算出したパリティセクタをこのトラックにライトしてもよい。例えば、所定のトラックに一部のセクタにXOR演算してパリティセクタを算出し、そのパリティセクタとそのトラックの一部のセクタを除く領域にこれからライトされるセクタとをXOR演算してそのトラックのパリティセクタを算出してこのトラックにライトしてもよい。例えば、パリティセクタ管理部640は、所定のトラックにおいて無効なセクタ(以下、無効セクタと称する場合もある)以外の全てのセクタ(以下、有効セクタと称する場合もある)にXOR演算してパリティセクタを算出し、算出したパリティセクタをこのトラックにライトしてもよい。無効セクタは、データの記録等で使用しないセクタに相当する。有効セクタは、データの記録等で使用するセクタに相当する。
パリティセクタ管理部640は、各トラックに対応する各パリティセクタがエラー訂正で使用できる有効なパリティセクタ(以下、有効パリティセクタと称する場合もある)であるかエラー訂正で使用できない無効なパリティセクタ(以下、無効パリティセクタと称する場合もある)であるかを管理する。
パリティセクタ管理部640は、所定のトラックの全てのセクタにXOR演算したパリティセクタを有効パリティセクタとして管理する。パリティセクタ管理部640は、このトラックのパリティセクタを有効パリティセクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に記録又は登録する。例えば、パリティセクタ管理部640は、所定のトラックの全ての有効セクタにXOR演算したパリティセクタを有効パリティセクタとして管理する。パリティセクタ管理部640は、このトラックのパリティセクタを有効パリティセクタとして管理する。
パリティセクタ管理部640は、一部のセクタをライトした(上書きした又は書き換えた)トラックのパリティセクタがこの一部のセクタをライトする前のパリティセクタである場合にこのパリティセクタを無効パリティセクタとして管理する。パリティセクタ管理部640は、このトラックのパリティセクタを無効パリティセクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に記録又は登録する。例えば、無効パリティセクタは、一部のセクタをライトした(上書き又は書き換えた)トラックにおける一部のセクタをライトする(上書きする又は書き換える)前のこのトラックの全てのセクタにXOR演算した結果に相当する。例えば、パリティセクタ管理部640は、一部の有効セクタをライトした(上書きした又は書き換えた)トラックのパリティセクタがこの一部の有効セクタをライトする前のパリティセクタである場合にこのパリティセクタを無効パリティセクタとして管理する。
パリティセクタ管理部640は、磁気ディスク装置1の処理能力に空きがある時、例えば、Idle(アイドル)時に無効パリティセクタを含むトラック(以下、無効パリティトラックと称する場合もある)において、書き換えた一部のセクタを含む全てのセクタにXOR演算してパリティセクタを算出(又は生成)し、算出したパリティセクタ(有効パリティセクタ)をこのトラックのパリティセクタにライトする(訂正する、上書きする又は書き換える)。パリティセクタ管理部640は、算出したパリティセクタを有効パリティセクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に記録又は登録する。
例えば、パリティセクタ管理部640は、ホスト100等から所定のトラックをディスク10にこのトラックに対応する全てのセクタ(1トラック)をライトするライトコマンドを受けた場合、このトラックの全てのセクタ(1トラック)を所定の位置にライトし、この1トラックの全てのセクタ(例えば、有効セクタ)にXOR演算してパリティセクタを算出(又は生成)し、算出したパリティセクタをこのトラックのパリティセクタにライトする。パリティセクタ管理部640は、このトラックのパリティセクタを有効パリティセクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80にテーブルとして記録又は登録する。以下、“有効パリティセクタを含むトラック”を“有効パリティトラック”と称する場合もある。
例えば、パリティセクタ管理部640は、ホスト100等から所定のトラックの一部のセクタをディスク10にライトするライトコマンドと受けた場合、まず、所定のトラックをリードし、ライトコマンドでライトされる領域にあるセクタとパリティセクタを除いた全セクタをXOR演算することにより、所定のトラックのライトされるセクタを除いた全セクタに対するパリティセクタを算出する。次に、このトラックにライトコマンドでライトするセクタと、このパリティセクタとこのライトするセクタをXOR演算した結果であるこのトラックのパリティセクタをライトする。パリティセクタ管理部640は、このトラックのパリティセクタを有効パリティセクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80にテーブルとして記録又は登録する。以下、“所定のトラックの一部のセクタを除く全セクタからパリティセクタを生成し、その一部の領域にライトするセクタとそれ以外のパリティセクタとをXOR演算することにより、このトラックのパリティセクタを更新する”ことを“リードモディファイライト”と称する場合もある。
例えば、パリティセクタ管理部640は、ホスト100等から所定のトラックの一部のセクタをディスク10にライトするライトコマンドと受けた場合、このトラックの一部のセクタをライトし(上書きし又は書き換え)、このトラックにXOR演算せずにパリティセクタを算出しない。パリティセクタ管理部640は、このトラックのパリティセクタを無効パリティセクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80にテーブルとして記録又は登録する。以下、“無効パリティセクタを含むトラック”を“無効パリティトラック”と称する場合もある。パリティセクタ管理部640は、Idle時に無効パリティトラックとリードし、無効パリティトラックの全てのセクタにXOR演算して有効パリティセクタを生成し、無効パリティセクタに有効パリティセクタをライトし(訂正し、上書きし、又は書き換し)、無効パリティトラックから有効パリティトラックに変更する。
監視対象セクタ管理部650は、ディフェクト、例えば、ディスク10に生じた傷に起因するエラーが生じるエラーセクタ(以下、監視対象セクタと称する場合もある)を管理する。監視対象セクタ管理部650は、所定のトラックのリード時に監視対象セクタを検出する。監視対象セクタを検出した場合、監視対象セクタ管理部650は、この監視対象セクタのディスク10の位置及びセクタ番号等の情報(以下、監視対象セクタ情報と称する場合もある)とこの監視対象セクタに対応するディフェクト、例えば、傷の位置及び傷の長さを示すビット列等の情報(以下、ディフェクト情報と称する場合もある)とを所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に記録する。
監視対象セクタ管理部650は、例えば、所定のトラックでエラーセクタを検出した後にこのトラックを再度リードした際にこのエラーセクタでリードエラーを再度検出した場合にエラー訂正、例えば、セクタECCを実行して書き直して再度リードしてリードエラーを再度検出したエラーセクタを監視対象セクタとしてテーブル等に設定、記録又は登録する。監視対象セクタ管理部650は、例えば、監視対象セクタに対応するセクタ番号と監視対象セクタに対応するディフェクト情報とをテーブルとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に設定、記録又は登録する。監視対象セクタ管理部650は、例えば、監視対象セクタのデータの品質が低い、又はエラーが生じる可能性が他の領域と比較して高いことを示すErasure情報とをテーブルとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に設定、記録又は登録する。Erasure情報は、ディフェクト、例えば、傷の位置及び長さ等を示す情報に相当する。例えば、監視対象セクタにErasure情報が設定されることでR/Wチャネル40においてそのトラック全体の品質改善をより正確に実行でき(リアサインするかどうかの判断に使用)、訂正を効率的にできるようになり得る。
図5は、本実施形態に係る監視対象セクタ及びパリティセクタの一例を示す模式図である。図5には、トラックTRak、及びTRak+1を示している。図5において、トラックTRak、及びTRak+1は、ユーザデータ領域10aにおいて記載順に内方向に連続して配置されている。トラックTRakは、セクタSC01、SC02、SC03、…、及びSC0(n―1)、SC0nとパリティセクタP0とを有している。セクタSC01乃至SC0(n―1)は、記載順に進行方向に連続して配置されている。パリティセクタP0は、セクタSC1(n―1)の進行方向に隣接している。パリティセクタP0は、セクタSC01乃至SC0nをXOR演算した結果に相当する。トラックTRak+1は、セクタSC11、SC12、SC13、…、SC1(n―1)、及びSC1nとパリティセクタP1とを有している。セクタSC11乃至SC1(n―1)は、記載順に進行方向に連続して配置されている。パリティセクタP1は、セクタSC1(n―1)の進行方向に隣接している。パリティセクタP1は、セクタSC11乃至SC1nをXOR演算した結果に相当する。
図5に示した例では、MPU60は、ホスト100等からトラックTRakをライトするコマンドを受けた場合、トラックTRakの全てのセクタSC01乃至SC0nを進行方向に記載順にライトする。MPU60は、セクタSC01乃至SC0nにXOR演算し、セクタSC01乃至SC0nにXOR演算した結果をパリティセクタ(有効パリティセクタ)P0にライトする。例えば、MPU60は、パリティセクタP0に基づいてトラックTRakにトラックECCを実行し得る。
MPU60は、ホスト100等からトラックTRak+1をライトするコマンドを受けた場合、トラックTRak+1の全てのセクタSC11乃至SC1nを進行方向に記載順にライトする。MPU60は、セクタSC11乃至SC1nにXOR演算し、セクタSC11乃至SC1nにXOR演算した結果をパリティセクタ(有効パリティセクタ)P1にライトする。MPU60は、ホスト100等からトラックTRak+1の一部のセクタにデータを上書きするコマンドを受けた場合、まず、トラックTRak+1の一部の上書きされるセクタとパリティセクタP1を除いた全セクタをXOR演算しパリティセクタを算出する。トラックTRak+1の一部のセクタにデータを上書きし、このパリティセクタと上書きするデータをXOR演算した結果を、パリティセクタ(有効パリティセクタ)P1にライトする例えば、MPU60は、パリティセクタP1に基づいてトラックTRak+1にトラックECCを実行し得る。
図6は、パリティセクタの更新方法の一例を示すフローチャートである。
MPU60は、所定のトラックのパリティセクタが無効パリティセクタであるか無効パリティセクタでないかを判定する(B601)。言い換えると、MPU60は、所定のトラックのパリティセクタが無効パリティセクタであるか有効パリティセクタであるかを判定する。所定のトラックのパリティセクタが有効パリティセクタであると判定した場合(B601のNO)、MPU60は、処理を終了する。所定のトラックのパリティセクタが無効パリティセクタであると判定した場合(B601のYES)、MPU60は、ディスク10に所定のトラックの全セクタ(1トラック)をリードし(B602)、このトラックの全セクタにXOR演算を実行する(B603)。MPU60は、所定のトラックの全セクタにXOR演算した結果をこのトラックのパリティセクタにライトし(上書きし又は書き換えし)(B604)、所定のトラックの無効パリティセクタを有効パリティセクタに設定又は登録し(B605)、処理を終了する。
図7は、本実施形態に係る無効パリティセクタを含むトラックにおける監視対象セクタの設定方法の一例を示すフローチャートである。
MPU60は、所定のトラックでエラーセクタを検出し(B701)、このトラックに対応するパリティセクタが有効パリティセクタであるか有効パリティセクタでないかを判定する(B702)。言い換えると、MPU60は、所定のトラックに対応するパリティセクタが有効パリティセクタであるか無効パリティセクタであるかを判定する。所定のトラックに対応するパリティセクタが有効パリティセクタであると判定する場合(B702のYES)、MPU60は、後述する図9のフローチャートに進む(B703)。所定のトラックに対応するパリティセクタが無効パリティセクタであると判定する場合(B702のNO)、MPU60は、ディスク10の所定のトラックの全セクタ(1トラック)を再度リードし(B704)、このトラックのエラーセクタでリードエラーを再度検出したか再度検出していないかを判定する(B705)。
所定のトラックのエラーセクタでリードエラーを再度検出していないと判定した場合(B705のNO)、MPU60は、このトラックの全セクタにXOR演算した結果をパリティセクタとしてライトする(上書き又は書き換える)(B706)。MPU60は、所定のトラックに対応するパリティセクタを有効パリティセクタに設定又は登録し(B707)、処理を終了する。
所定のトラックのエラーセクタでリードエラーを再度検出したと判定した場合(B705のYES)、MPU60は、正しくリードできるまでリトライを続け、得られた正しいデータでエラーセクタを上書きし、このエラーセクタに対応するトラックのこのエラーセクタを含む全セクタにXOR演算した結果をこのトラックのパリティセクタとしてライトする(上書き又は書き換える)(B708)。MPU60は、所定のトラックに対応するパリティセクタを有効パリティセクタに設定又は登録し(B709)、このトラックのエラーセクタを再度リードし、ディスク10内のディフェクト情報を取得する(B710)。
MPU60は、所定のトラックのエラーセクタでリードエラーを再度検出したか再度検出していないかを判定する(B711)。所定のトラックのエラーセクタでリードエラーを再度検出していないと判定した場合(B711のNO)、処理を終了する。
所定のトラックのエラーセクタでリードエラーを再度検出したと判定した場合(B711のYES)、MPU60は、トラックの品質(エラー量)が閾値を超えたか閾値以下であるかを判定する(B712)。トラックの品質(エラー量)が閾値以下であると判定した場合(B712のNO)、MPU60は、エラーセクタを監視対象セクタとして設定、登録する(B715)。トラックの品質(エラー量)が閾値を超えたと判定した場合(B712のYES9、MPU60は、リアサインし(B713)、リアサインセクタを除いたエラーセクタを監視対象セクタとして登録し(B714)、処理を終了する。
図8は、本実施形態に係る有効パリティセクタを含むトラックにおける監視対象セクタの設定方法の一例を示すフローチャートである。
図7に示したフローチャートでB703の処理に進んだ場合、MPU60は、ディスク10の所定のトラックの全セクタ(1トラック)を再度リードし(B801)、このトラックのエラーセクタでリードエラーを再度検出したか再度検出していないかを判定する(B802)。このトラックのエラーセクタでリードエラーを再度検出していないと判定した場合(B802のNO)、MPU60は、処理を終了する。このトラックのエラーセクタでリードエラーを再度検出したと判定した場合(B802のYES)、MPU60は、正しくリードできるまでリトライを続け、得られた正しいデータでエラーセクタを上書きし、(B803)、このエラーセクタを再度リードする(B804)。
MPU60は、所定のトラックのエラーセクタでリードエラーを再度検出したか再度検出していないかを判定する(B805)。このトラックのエラーセクタでリードエラーを再度検出していないと判定した場合(B805のNO)、MPU60は、処理を終了する。所定のトラックのエラーセクタでリードエラーを再度検出したと判定した場合(B805のYES)、MPU60は、トラックの品質(エラー量)が閾値を超えたか閾値以下であるかを判定する(B712)。トラックの品質(エラー量)が閾値以下であると判定した場合(B712のNO)、MPU60は、B715の処理に進む。トラックの品質(エラー量)が閾値を超えたと判定した場合(B712のYES9、MPU60は、リアサインし(B713)、リアサインセクタを除いたエラーセクタを監視対象セクタとして登録し(B714)、処理を終了する。
図9は、本実施形態に係るライト処理方法の一例を示すフローチャートである。
MPU60は、ホスト100等からライトコマンドを受ける(B901)。MPU60は、ディスク10に所定のトラックの全セクタ(1トラック)をライトするか所定のトラックの全セクタ(1トラック)をライトしないかを判定する(B902)。言い換えると、MPU60は、ディスク10の所定のトラックの全セクタ(1トラック)をライトするか所定のトラックの一部、例えば、所定のトラックの一部のセクタをライト(上書き又は書き換える)するかを判定する。ディスク10の所定のトラックの全セクタ(1トラック)をライトすると判定した場合(B902のYES)、MPU60は、所定のトラックの全セクタをライトし、このトラックの全セクタにXOR演算した結果をこのトラックのパリティセクタとしてライトする(上書き又は書き換える)(B903)。MPU60は、所定のトラックに対応するパリティセクタを有効パリティセクタに設定又は登録し(B904)、処理を終了する。
ディスク10の所定のトラックの一部のセクタをライトすると判定した場合(B902のNO)、MPU60は、このトラックが監視対象セクタを含むか含まないかを判定する(B905)。所定のトラックが監視対象セクタを含まないと判定した場合(B905のNO)、MPU60は、所定のトラックの一部のセクタをライトする(B906)。MPU60は、所定のトラックに対応するパリティセクタを無効パリティセクタに設定又は登録し(B907)、処理を終了する。
所定のトラックが監視対象セクタを含むと判定した場合(B905のYES)、MPU60は、ディスク10において監視対象セクタを含むトラックの全セクタ(1トラック)をリードし(B908)、所定のトラックのライトされる一部のセクタとパリティセクタを除いた全セクタにXOR演算を実行する(B909)。MPU60は、所定のトラックのライトする一部のセクタを含む全セクタをライトし、B909で生成したXOR演算結果に、ライトする一部のセクタをXOR演算した結果をこのトラックのパリティセクタとしてライトする(上書き又は書き換える)(B910)。MPU60は、所定のトラックに対応するパリティセクタを有効パリティセクタに設定又は登録し(B911)、処理を終了する。B908乃至B912の処理は、例えば、リードモディファイライトに相当する。
実施形態によれば、磁気ディスク装置1は、ディフェクト、例えば、傷を含むトラックのパリティセクタが有効パリティセクタである。磁気ディスク装置1は、ディフェクト、例えば、傷に起因するエラーセクタを訂正又は復旧することができる。そのため、磁気ディスク装置1は、リアサインするための領域をディスク10に確保しなくともよい。磁気ディスク装置1は、ディフェクト、例えば、傷を含むトラックのみにリードモディファイライトを実行する。従って、磁気ディスク装置1は、処理性能(パフォーマンス)を向上することができる。
次に、前述した実施形態の他の実施形態及び他の変形例に係る磁気ディスク装置について説明する。他の実施形態及び他の変形例において、前述した実施形態と同一の部分には同一の参照符号を付してその詳細な説明を省略する。
(変形例1)
変形例1の磁気ディスク装置1は、リアサイン処理を実行する点が前述した実施形態の磁気ディスク装置1と異なる。
図10は、変形例1に係る磁気ディスク装置1の構成を示すブロック図である。
MPU60は、リアサイン(Re-Assign)制御部660をさらに有している。MPU60は、リアサイン制御部660等の処理をファームウェア上で実行する。なお、MPU60は、リアサイン制御部660の回路として有していてもよい。リアサイン制御部660は、R/Wチャネル40又はHDC50に含まれていてもよい。
リアサイン(Re-Assign)制御部660は、所定の領域、例えば、セクタ又はデータをリアサイン(又はリアサイン処理)する。リアサイン又リアサイン処理は、所定の領域にライトされたデータをこの領域以外の他の領域にライトする処理、つまり、所定のセクタをこのセクタと異なる他のセクタに置き換える処理、再配置する処理、又はコピー(複製)する処理を含む。リアサイン制御部660は、エラーセクタをリアサインする。例えば、リアサイン制御部660は、監視対象セクタ情報とディフェクト情報とに基づいて所定のトラックにおけるエラーセクタの数又はディフェクト、例えば、傷の長さが閾値を超えた場合に対応する少なくとも1つのエラーセクタ、例えば、監視対象セクタをディスク10、例えば、メディアキャッシュ10b若しくはシステムエリア10cの所定の領域にリアサインする。ここで、閾値は、トラックECCで訂正又は復旧可能なセクタの数に相当する。例えば、リアサイン制御部660は、リアサインしたエラーセクタ、例えば、監視対象セクタを無効セクタとして所定の記録領域、例えば、ディスク10、揮発性メモリ70、又は不揮発性メモリ80に記録又は登録する。
図11は、変形例1に係るリアサイン処理方法の一例を示す模式図である。図11には、トラックTRbck、TRak、TRak+1、TRak+2、及びTRak+3を示している。図11において、トラックTRak、TRak+1、TRak+2、及びTRak+3は、ユーザデータ領域10aにおいて記載順に内方向に連続して配置されている。トラックTRak及びTRak+1は、図5に示したトラックTRak乃至TRak+3に対応している。トラックTRak+2は、セクタSC21、SC22、SC23、…、SC2(n―1)、及びSC2nとパリティセクタP2とを有している。セクタSC21乃至SC2(n―1)は、記載順に進行方向に連続して配置されている。パリティセクタP2は、セクタSC2(n―1)の進行方向に隣接している。パリティセクタP2は、セクタSC21乃至SC2nをXOR演算した結果に相当する。トラックTRak+3は、セクタSC31、SC32、SC33、…、SC3(n―1)、及びSC3nとパリティセクタP3とを有している。セクタSC31乃至SC3(n―1)は、記載順に進行方向に連続して配置されている。パリティセクタP3は、セクタSC3(n―1)の進行方向に隣接している。パリティセクタP3は、セクタSC31乃至SC3nをXOR演算した結果に相当する。トラックTRbckは、メディアキャッシュ10b及び/又はシステムエリア10cに配置されている。トラックTRbckは、リアサインするセクタ(又はデータ)をライトする記録領域に相当する。トラックTRbckは、セクタSC13、及びSC32と、複数の空きセクタとを有している。トラックTRbckにおいて、セクタSC32は、セクタSC13の進行方向に隣接している。トラックTRbckのセクタSC13は、トラックTRak+1のセクタSC13に相当する。トラックTRbckのセクタSC32は、トラックTRak+3のセクタSC32に相当する。
図11に示した例では、MPU60は、トラックTRak+1をリードし、複数の監視対象セクタを検出する。MPU60は、監視対象セクタの数が閾値よりも1大きい場合、監視対象セクタSC13をトラックTRbckにリアサインし、トラックTRak+1の監視対象セクタSC13を無効セクタに設定する。MPU60は、トラックTRak+1のセクタSC13以外の全てのセクタ(SC11、SC12、…、SC1(n―1)、SC1n)をリードし、セクタSC13以外の全てのセクタにXOR演算した結果をパリティセクタP1にライトする。なお、MPU60は、複数の監視対象セクタを検出した場合であっても、個々のErasure情報(エラーの長さ)が小さければ、リアサインを実行しない。また、MPU60は、監視対象セクタの数が1でもErasure情報が大きければリアサインを実行してもよい。
図11に示した例では、MPU60は、トラックTRak+3をリードし、複数の監視対象セクタを検出する。MPU60は、監視対象セクタの数が閾値よりも1大きい場合、監視対象セクタSC32をトラックTRbckにリアサインし、トラックTRak+3の監視対象セクタSC32を無効セクタに設定する。MPU60は、トラックTRak+3のセクタSC32以外の全てのセクタ(SC31、SC33、…、SC3(n―1)、SC3n)をリードし、セクタSC32以外の全てのセクタにXOR演算した結果をパリティセクタP3にライトする。
図12は、変形例1に係るリアサイン方法の一例を示すフローチャートである。
MPU60は、所定のトラックでエラーセクタ検出し(B1201)、このトラックに対応するパリティセクタが有効パリティセクタであるか有効パリティセクタでないかを判定する(B1202)。言い換えると、MPU60は、所定のトラックに対応するパリティセクタが有効パリティセクタであるか無効パリティセクタであるかを判定する。所定のトラックに対応するパリティセクタが有効パリティセクタであると判定する場合(B1202のYES)、MPU60は、ディスク10の所定のトラックの全セクタ(1トラック)を再度リードし(B1203)、B1206の処理に進む。所定のトラックに対応するパリティセクタが無効パリティセクタであると判定する場合(B1202のNO)、MPU60は、ディスク10の所定のトラックの全セクタ(1トラック)を再度リードする(B1204)。MPU60は、ディスク10の所定のトラックの全セクタをライトし、このトラックの全セクタにXOR演算した結果をパリティセクタとしてライトする(上書きする又は書き換える)(B1205)。
MPU60は、所定のトラックのエラーセクタでリードエラーを再度検出したか再度検出していないかを判定する(B1206)。所定のトラックのエラーセクタでリードエラーを再度検出していないと判定した場合(B1206のNO)、MPU60は、処理を終了する。所定のトラックのエラーセクタでリードエラーを再度検出したと判定した場合(B1206のYES)、MPU60は、正しくリードできるまでリトライを続け、所定のトラックにおいてリードエラーを再度検出したエラーセクタを正しいデータでライトし(B1207)、このトラックにおいてライトしたエラーセクタを再度リードする(B1208)。
MPU60は、所定のトラックのエラーセクタでリードエラーを再度検出したか再度検出していないかを判定する(B1209)。所定のトラックのエラーセクタでリードエラーを再度検出していないと判定した場合(B1209のNO)、MPU60は、処理を終了する。所定のトラックのエラーセクタでリードエラーを再度検出したと判定した場合(B1209のYES)、MPU60は、このエラーセクタを監視対象セクタとして設定又は登録し、このトラックにおいてエラーセクタの数又は長さが閾値を超えているか閾値以下であるかを判定する(B1210)。所定のトラックにおいてエラーセクタの数又は長さが閾値以下であると判定した場合(B1210のNO)、MPU60は、検出されたエラーセクタを監視対象セクタとして設定、登録し(B1215)、処理を終了する。
所定のトラックにおいてエラーセクタの数又は長さが閾値を超えたと判定した場合(B1210のYES)、MPU60は、閾値を超えたリアサイン対象セクタを除いたエラーセクタを監視対象セクタとして設定、登録する(B1211)。MPU60は、所定のトラックにおいて閾値以下になるようにリアサインする少なくとも1つのエラーセクタ以外の全てのセクタをリードし、リアサインする少なくとも1つのエラーセクタ以外の全てのセクタにXOR演算した結果をパリティセクタとしてライトする(上書きする又は書き換える)(B1212)。MPU60は、所定のトラックにおいてライトしたパリティセクタを有効パリティセクタに設定又は登録し(B1213)、所定のトラックと異なる他のトラックにシークして、少なくとも1つのエラーセクタを他のトラックにリアサインし、リアサインする前のトラックにおいてリアサインした少なくとも1つのエラーセクタを無効セクタに設定し(B1214)、処理を終了する。
変形例1によれば、磁気ディスク装置1は、所定のトラックにおいてエラーセクタの数又は長さが閾値を超えたと判定した場合、閾値以下にあるよう選択した少なくとも1つのエラーセクタをメディアキャッシュ10b又はシステムエリア10cにリアサインする。磁気ディスク装置1は、トラックECCで訂正又は復旧できない数のエラーセクタが生じて場合であっても、リードエラー等のエラーが発生する可能性を低減することができる。そのため、磁気ディスク装置1は、信頼性を向上することができる。
(変形例2)
変形例2の磁気ディスク装置1は、リードモディファイライトをするタイミングが前述した実施形態及び変形例1の磁気ディスク装置1と異なる。
MPU60は、監視対象セクタを含むトラックにデータをライトするライトコマンドを受けた場合、メディアキャッシュ10bに空き容量があるか空き容量がないかを判定する。メディアキャッシュ10bに空き容量があると判定した場合、MPU60は、ディスク10のメディアキャッシュ10bにライトコマンド(又はライトデータ)を一旦格納する。MPU60は、処理能力に余裕のあるとき、例えば、Idle時にリードモディファイライトを実行する。
図13は、変形例2に係るライト処理方法の一例を示すフローチャートである。
MPU60は、ホスト100等からライトコマンドを受ける(B901)。MPU60は、ディスク10に所定のトラックの全セクタ(1トラック)をライトするか所定のトラックの全セクタ(1トラック)をライトしないかを判定する(B902)。ディスク10の所定のトラックの一部のセクタをライトすると判定した場合(B902のNO)、MPU60は、このトラックが監視対象セクタを含むか含まないかを判定する(B905)。
所定のトラックが監視対象セクタを含むと判定した場合(B905のYES)、MPU60は、メディアキャッシュ10bに空き容量があるか空き容量がないかを判定する(B1301)。メディアキャッシュ10bに空き容量がないと判定した場合(B1301のNO)、MPU60は、後述する図14のフォローチャートに進む(B1304)。
メディアキャッシュ10bに空き容量があると判定した場合(B1301のYES)、MPU60は、ライトコマンド(又はライトデータ)をメディアキャッシュ10bに一旦格納する(B1302)。MPU60は、処理能力に余裕があるか余裕がないかを判定する(B1303)。言い換えると、MPU60は、Idle時であるかIdle時でないかを判定する。Idle時でないと判定した場合(B1303のNO)、MPU60は、B908の処理に進む。Idle時であると判定した場合(B1303のYES)、MPU60は、後述する図14のフローチャートに進む(B1304)。
図14は、変形例2に係るリードモディファイライト処理の一例を示すフローチャートである。
図13に示したフローチャートでB1304の処理に進んだ場合、MPU60は、ディスク10において監視対象セクタを含むトラックの全セクタ(1トラック)をリードし(B908)、このトラックのライトする一部のセクタとパリティセクタ除いた全セクタにXOR演算を実行する(B909)。MPU60は、所定のトラックにErasure情報を設定又は登録する(B910)。MPU60は、所定のトラックのライトする一部のセクタを含む全セクタをライトし、B909で生成したXOR演算結果に、ライトする一部のセクタをXOR演算した結果をこのトラックのパリティセクタとしてライトする(上書き又は書き換える)(B911)。MPU60は、所定のトラックに対応するパリティセクタを有効パリティセクタに設定又は登録し(B912)、処理を終了する。
変形例2によれば、磁気ディスク装置1は、監視対象セクタを含むトラックにデータをライトするライトコマンドを受けた場合、メディアキャッシュ10bに空き容量があるか空き容量がないかを判定する。メディアキャッシュ10bに空き容量があると判定した場合、磁気ディスク装置1は、ディスク10のメディアキャッシュ10bにライトコマンド(又はライトデータ)を一旦格納する。磁気ディスク装置1は、処理能力に余裕のあるとき、例えば、Idle時にリードモディファイライトを実行する。そのため、磁気ディスク装置1は、監視対象セクタを含むトラックにデータをライトするときにのみ、ライトコマンド(又はライトデータ)をメディアキャッシュ10bに一旦格納するため、処理性能の低下を抑制できる。
(変形例3)
変形例3の磁気ディスク装置1は、リード処理方法が前述した実施形態、変形例1、及び変形例2の磁気ディスク装置1と異なる。
MPU60は、監視対象セクタを含む領域をリードするリードコマンドを受けた場合、Erasure情報に基づいて、リードコマンドで指定された監視対象セクタを含む領域をリードし、Erasure情報に基づいて監視対象セクタを含むトラックをリードして、監視対象セクタに対し効率的に訂正を行う。
図15は、変形例3に係るリード処理方法の一例を示すフローチャートである。
MPU60は、ホスト100等からリードコマンドを受ける(B1501)。MPU60は、リードコマンドで指定された領域に監視対象セクタが含まれるか含まれないかを判定する(B1502)。リードコマンドで指定された領域に監視対象セクタが含まれないと判定した場合(B1502のNO)、MPU60は、リードコマンドで指定された領域をリードし(B1503)、処理を終了する。
リードコマンドで指定された領域に監視対象セクタが含まれると判定した場合(B1502のYES)、MPU60は、Erasure情報とパリティセクタを用いて、リードコマンドで指定された監視対象セクタを含む領域をリードし(B1504)、処理を終了する。
変形例3によれば、磁気ディスク装置1は、監視対象セクタを含む領域をリードするリードコマンドを受けた場合、Erasure情報に基づいて、リードコマンドで指定された監視対象セクタを含む領域をリードし、Erasure情報に基づいて監視対象セクタを含むトラックをリードして、誤り確率が高い領域を明示することにより訂正効率をあげることができる。そのため、磁気ディスク装置1は、ディフェクト、例えば、傷が生じている領域にライトされた誤ったデータに基づいてエラー訂正が実行されることを抑制することができる。
(変形例4)
変形例4の磁気ディスク装置1は、監視対象セクタの設定方法が前述した実施形態、変形例1、変形例2、及び変形例3の磁気ディスク装置1と異なる。
MPU60は、Idle時にパリティセクタの更新及び監視対象セクタの設定若しくは登録を実行する。
図16は、変形例4に係る監視対象セクタの設定方法の一例を示すフローチャートである。
MPU60は、Idle時であるかIdle時でないかを判定する(B1601)。Idle時でないと判定した場合(B1601のNO)、MPU60は、処理を終了する。Idle時であると判定した場合(B1601のYES)、MPU60は、B701の処理に進む。
変形例4によれば、磁気ディスク装置1は、Idle時にパリティセクタの更新及び監視対象セクタの設定若しくは登録を実行する。そのため、磁気ディスク装置1は、所定のトラックのパリティセクタを更新する前にディスク10にディフェクト、例えば、傷が生じて監視対象セクタがリードできなくなる可能性を低減することができる。
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
本明細書にて開示した構成から得られる磁気ディスク装置、及びエラー訂正方法の一例を以下に付記する。
(1)
ディフェクトを含む複数の第1エラーセクタ、及び第1パリティセクタを有する第1トラックと第2パリティセクタを有する第2トラックとメディアキャッシュとを含むディスクと、
前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、
ディフェクトを管理する監視セクタ管理部と、
前記監視セクタ管理部で前記第1エラーセクタが管理されている場合に、前記第1トラックの一部の第1領域にライトデータをライトするライトコマンドを受けた場合、前記第1トラックの前記第1領域のセクタと第1パリティセクタ以外の全セクタをXOR演算した後に、前記第1領域に前記ライトデータと、前記ライトデータと前記XOR演算した結果を前記第1パリティセクタにライトするコントローラと、を備える磁気ディスク装置。
(2)
前記コントローラは、前記第1パリティセクタを前記第1トラックにおけるエラー訂正に使用できる有効なパリティセクタとして設定する、請求項1に記載の磁気ディスク装置。
(3)
前記コントローラは、前記第2トラックの一部の第2領域に前記ライトデータをライトするライトコマンドを受けた場合、前記第2領域にデータをライトする、(1)又は(2)の磁気ディスク装置。
(4)
前記コントローラは、前記第2パリティセクタを前記第2トラックにおけるエラー訂正に使用できない無効なパリティセクタとして設定する、(3)の磁気ディスク装置。
(5)
前記コントローラは、前記複数のエラーセクタの数が閾値よりも大きい、又はディフェクトが第1長さよりも大きい場合、前記複数のエラーセクタの内の少なくとも1つのエラーセクタを前記メディアキャッシュにリアサインし、前記複数のエラーセクタが閾値よりも大きい、且つディフェクトが前記第1長さよりも小さい場合、リアサインしない、(1)乃至(4)のいずれか1の磁気ディスク装置。
(6)
前記コントローラは、前記第1領域に前記ライトデータをライトする場合、前記ライトデータを前記メディアキャッシュに一旦格納する、(1)乃至(4)のいずれか1の磁気ディスク装置。
(7)
前記コントローラは、アイドル時に前記メディアキャッシュから前記ライトデータを前記第1領域にライトする、(6)の磁気ディスク装置。
(8)
前記コントローラは、前記複数の第1エラーセクタのそれぞれの複数の位置情報を取得する、(1)の磁気ディスク装置。
(9)
前記コントローラは、アイドル時に前記複数の位置情報を取得する(8)の磁気ディスク装置。
(10)
前記コントローラは、前記複数の第1エラーセクタでリードエラーを検出した後にリードエラーを再度検出した場合、前記複数の第1エラーセクタをディフェクトに起因するエラーが生じるセクタとして登録する、(1)乃至(9)のいずれか1の磁気ディスク装置。
(11)
ディフェクトを含む複数の第1エラーセクタ、及び第1パリティセクタを有する第1トラックと第2パリティセクタを有する第2トラックとメディアキャッシュとを含むディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、を備える磁気ディスク装置に適用されるライト/リード処理方法であって、
前記第1トラックの一部の第1領域にライトデータをライトするライトコマンドを受けた場合、前記第1領域に前記ライトデータをライトし、前記第1トラックの全てのセクタにXOR演算した結果を前記第1パリティセクタにライトする、ライト/リード処理方法。
1…磁気ディスク装置、10…磁気ディスク、10a…ユーザデータ領域、10b…メディアキャッシュ、10c…システムエリア、12…スピンドルモータ(SPM)、13…アーム、14…ボイスコイルモータ(VCM)、15…ヘッド、15W…ライトヘッド、15R…リードヘッド、20…ドライバIC、30…ヘッドアンプIC、40…リード/ライト(R/W)チャネル、50…ハードディスクコントローラ(HDC)、60…マイクロプロセッサ(MPU)、70…揮発性メモリ、80…不揮発性メモリ、90…バッファメモリ、100…ホストシステム(ホスト)、130…システムコントローラ。

Claims (9)

  1. ディフェクトを含む複数の第1エラーセクタ、及び第1パリティセクタを有する第1トラックと第2パリティセクタを有する第2トラックとメディアキャッシュとを含むディスクと、
    前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、
    ディフェクトを管理する監視セクタ管理部と、
    前記監視セクタ管理部で前記第1エラーセクタが管理されている場合に、前記第1トラックの一部の第1領域にライトデータをライトするライトコマンドを受けた場合、前記第1トラックの前記第1領域のセクタと第1パリティセクタ以外の全セクタをXOR演算した後に、前記第1領域に前記ライトデータと、前記ライトデータと前記XOR演算した結果を前記第1パリティセクタにライトするコントローラと、を備える磁気ディスク装置。
  2. 前記コントローラは、前記第1パリティセクタを前記第1トラックにおけるエラー訂正に使用できる有効なパリティセクタとして設定する、請求項1に記載の磁気ディスク装置。
  3. 前記コントローラは、前記第2トラックの一部の第2領域に前記ライトデータをライトするライトコマンドを受けた場合、前記第2領域にデータをライトする、請求項1又は2に記載の磁気ディスク装置。
  4. 前記コントローラは、前記第2パリティセクタを前記第2トラックにおけるエラー訂正に使用できない無効なパリティセクタとして設定する、請求項3に記載の磁気ディスク装置。
  5. 前記コントローラは、前記複数のエラーセクタの数が閾値よりも大きい、又はディフェクトが第1長さよりも大きい場合、前記複数のエラーセクタの内の少なくとも1つのエラーセクタを前記メディアキャッシュにリアサインし、前記複数のエラーセクタが閾値よりも大きい、且つディフェクトが前記第1長さよりも小さい場合、リアサインしない、請求項1乃至4のいずれか1項に記載の磁気ディスク装置。
  6. 前記コントローラは、前記第1領域に前記ライトデータをライトする場合、前記ライトデータを前記メディアキャッシュに一旦格納する、請求項1乃至4のいずれか1項に記載の磁気ディスク装置。
  7. 前記コントローラは、アイドル時に前記メディアキャッシュから前記ライトデータを前記第1領域にライトする、請求項6に記載の磁気ディスク装置。
  8. 前記コントローラは、前記複数の第1エラーセクタのそれぞれの複数の位置情報を取得する、請求項1に記載の磁気ディスク装置。
  9. 前記コントローラは、アイドル時に前記複数の位置情報を取得する請求項8に記載の磁気ディスク装置。
JP2021044666A 2021-03-18 2021-03-18 磁気ディスク装置 Pending JP2022143899A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021044666A JP2022143899A (ja) 2021-03-18 2021-03-18 磁気ディスク装置
CN202110968094.1A CN115114074A (zh) 2021-03-18 2021-08-23 磁盘装置
US17/462,379 US20220301590A1 (en) 2021-03-18 2021-08-31 Magnetic disk device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021044666A JP2022143899A (ja) 2021-03-18 2021-03-18 磁気ディスク装置

Publications (1)

Publication Number Publication Date
JP2022143899A true JP2022143899A (ja) 2022-10-03

Family

ID=83283971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021044666A Pending JP2022143899A (ja) 2021-03-18 2021-03-18 磁気ディスク装置

Country Status (3)

Country Link
US (1) US20220301590A1 (ja)
JP (1) JP2022143899A (ja)
CN (1) CN115114074A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230082636A1 (en) * 2021-09-16 2023-03-16 Micron Technology, Inc. Parity data modification for partial stripe data update
US11960767B2 (en) * 2022-03-08 2024-04-16 Seagate Technology Llc Outer codes for data storage devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864440A (en) * 1994-12-27 1999-01-26 International Business Machines Corporation Data processing method and data storage system
US5751733A (en) * 1996-09-16 1998-05-12 Cirrus Logic, Inc. Interleaved redundancy sector for correcting an unrecoverable sector in a disc storage device
US5701304A (en) * 1996-09-16 1997-12-23 Cirrus Logic, Inc. Method for correcting unrecoverable sectors using track level redundancy in a disc drive storage system
US6219800B1 (en) * 1998-06-19 2001-04-17 At&T Corp. Fault-tolerant storage system
JP2003346432A (ja) * 2002-05-22 2003-12-05 Internatl Business Mach Corp <Ibm> データ記憶装置およびデータ処理方法
JP2008077783A (ja) * 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
KR20150061258A (ko) * 2013-11-27 2015-06-04 한국전자통신연구원 분산 raid 시스템에서 패리티 청크 운용 방법과 이를 지원하는 데이터 서버 장치
US9489260B1 (en) * 2015-05-26 2016-11-08 Seagate Technology Llc Flexible super block sizing for failed sector recovery
CN106960675B (zh) * 2016-01-08 2019-07-05 株式会社东芝 磁盘装置及写入处理方法
CN107204196A (zh) * 2016-03-17 2017-09-26 株式会社东芝 磁盘装置、数据处理装置及数据记录方法
US10140180B1 (en) * 2016-11-04 2018-11-27 Seagate Technology Llc Segment-based outer code recovery
JP2019153367A (ja) * 2018-03-06 2019-09-12 株式会社東芝 磁気ディスク装置および記録方法
JP2019215943A (ja) * 2018-06-12 2019-12-19 株式会社東芝 磁気ディスク装置及びライト処理方法
US10720177B1 (en) * 2019-04-08 2020-07-21 Seagate Technology Llc Mode hop mitigation solutions in a heat-assisted magnetic recording head

Also Published As

Publication number Publication date
CN115114074A (zh) 2022-09-27
US20220301590A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US10140180B1 (en) Segment-based outer code recovery
JP2019164855A (ja) 磁気ディスク装置及びrro補正データのライト方法
JP2022143899A (ja) 磁気ディスク装置
JP2019215943A (ja) 磁気ディスク装置及びライト処理方法
US20240038267A1 (en) Magnetic disk device and dol setting method
US10515664B2 (en) Magnetic disk device capable of reallocating address corresponding to defective sector to alternative sector
US11508399B2 (en) Magnetic disk device and read/write processing method
US11335375B2 (en) Magnetic disk device and error correction method
US20210272588A1 (en) Magnetic disk device and write retry processing method
US10867633B1 (en) Reduced adjacent track erasure from write retry
US10725854B2 (en) Disk device and data management method
US11404085B1 (en) Magnetic disk device and error correction processing method
JP2022185311A (ja) 磁気ディスク装置及びリード/ライト処理方法
JP7234176B2 (ja) 磁気ディスク装置及びDepop処理方法
US20220084554A1 (en) Magnetic disk device and error correction method
US11508409B2 (en) Magnetic disk device and write processing method
JP2023142223A (ja) 磁気ディスク装置
CN114121043A (zh) 磁盘装置以及重写处理方法
JP2023140542A (ja) 磁気ディスク装置および方法
JP2023025543A (ja) 磁気ディスク装置及びリフレッシュ処理方法
JP2022038290A (ja) 磁気ディスク装置