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

磁気ディスク装置 Download PDF

Info

Publication number
JP2023142223A
JP2023142223A JP2022048989A JP2022048989A JP2023142223A JP 2023142223 A JP2023142223 A JP 2023142223A JP 2022048989 A JP2022048989 A JP 2022048989A JP 2022048989 A JP2022048989 A JP 2022048989A JP 2023142223 A JP2023142223 A JP 2023142223A
Authority
JP
Japan
Prior art keywords
sectors
parity
sector
read
data
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
JP2022048989A
Other languages
English (en)
Inventor
兼司 小川
Kenji Ogawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2022048989A priority Critical patent/JP2023142223A/ja
Priority to CN202210663670.6A priority patent/CN116844583A/zh
Priority to US17/943,015 priority patent/US11984142B2/en
Publication of JP2023142223A publication Critical patent/JP2023142223A/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59605Circuits
    • 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
    • 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
    • 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/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code

Landscapes

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

Abstract

【課題】パリティセクタにライトされたパリティによる保護が有効であるか無効であるかを適切に管理すること。【解決手段】磁気ディスク装置は、複数の第1セクタを含むトラックを有する磁気ディスクと、磁気ヘッドと、磁気ヘッドを用いて磁気ディスクにアクセスするよう構成されたコントローラと、を備える。複数の第1セクタは、それぞれはデータ片がライトされるように構成された複数の第2セクタと、パリティおよびパリティによる保護が有効であるか否かを示す第1情報がライトされるように構成された第3セクタと、を含む。【選択図】図3

Description

本実施形態は、磁気ディスク装置に関する。
従来、各トラックに、パリティのための専用のセクタが設けられる場合がある。以降、パリティのための専用のセクタをパリティセクタと表記し、データのためのパリティセクタと異なるセクタをデータセクタと表記する。
パリティセクタにライトされるパリティは、トラック内の複数のデータセクタにライトされるデータ片(data segment)に基づいて生成される。よって、トラック内の複数のデータセクタにライトされたデータ片は、パリティセクタにライトされたパリティによって保護される。
米国特許出願公開第2010/0064198号明細書
パリティセクタにパリティがライトされた後に一部のデータセクタにデータがオーバーライトされた場合、当該パリティによる保護は無効になる。パリティによる保護が無効であるときに当該パリティを用いた誤り訂正が実行された場合、誤り訂正によって、期待されたデータと異なるデータが取得される場合がある。よって、パリティによる保護が有効であるか無効であるかをトラック単位で管理することが必要である。
一つの実施形態は、パリティセクタにライトされたパリティによる保護が有効であるか無効であるかを適切に管理できる磁気ディスク装置を提供することを目的とする。
一つの実施形態によれば、磁気ディスク装置は、複数の第1セクタを含むトラックを有する磁気ディスクと、磁気ヘッドと、磁気ヘッドを用いて磁気ディスクにアクセスするよう構成されたコントローラと、を備える。複数の第1セクタは、それぞれはデータ片がライトされるように構成された複数の第2セクタと、パリティおよびパリティによる保護が有効であるか否かを示す第1情報がライトされるように構成された第3セクタと、を含む。
図1は、第1の実施形態の磁気ディスク装置の構成の一例を示す模式的な図である。 図2は、第1の実施形態の磁気ディスクの構成の一例を示す模式的な図である。 図3は、第1の実施形態の1つのトラックの構成の一例を示す模式的な図である。 図4は、第1の実施形態の磁気ディスク装置の、ライト時の動作の一例を示すフローチャートである。 図5は、第1の実施形態の磁気ディスク装置の、リード時の動作の一例を示すフローチャートである。 図6は、変形例1の磁気ディスク装置の、リード時の動作の一例を示すフローチャートである。 図7は、第2の実施形態の1つのトラックの構成の一例を示す模式的な図である。 図8は、第2の実施形態の磁気ディスク装置の、ライト時の動作の一例を示すフローチャートである。 図9は、第2の実施形態の磁気ディスク装置の、リード時の動作の一例を示すフローチャートである。 図10は、変形例2の磁気ディスク装置の、リード時の動作の一例を示すフローチャートである。
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態の磁気ディスク装置1の構成の一例を示す模式的な図である。
磁気ディスク装置1は、ホスト2に接続される。磁気ディスク装置1は、ホスト2から、ライトコマンドやリードコマンドなどのアクセスコマンドを受信することができる。
磁気ディスク装置1は、表面に磁性層が形成された磁気ディスク11を備える。磁気ディスク装置1は、アクセスコマンドに応じて磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする。
データのライトおよびリードは、磁気ヘッド22を介して行われる。具体的には、磁気ディスク装置1は、磁気ディスク11のほかに、スピンドルモータ12、ランプ13、アクチュエータアーム15、ボイスコイルモータ(VCM)16、モータドライバIC(Integrated Circuit)21、磁気ヘッド22、ハードディスクコントローラ(HDC)23、ヘッドIC24、リードライトチャネル(RWC)25、プロセッサ26、RAM27、FROM(Flash Read Only Memory)28、およびバッファメモリ29を備える。
磁気ディスク11は、同軸に取り付けられたスピンドルモータ12により、所定の回転速度で回転される。スピンドルモータ12は、モータドライバIC21により駆動される。
プロセッサ26はモータドライバIC21を介して、スピンドルモータ12の回転およびVCM16の回転を制御する。
磁気ヘッド22は、それに備わるライトヘッド22wおよびリードヘッド22rにより、磁気ディスク11に対してデータのライトまたはリードを行う。また、磁気ヘッド22は、アクチュエータアーム15の先端に取り付けられている。磁気ヘッド22は、モータドライバIC21によって駆動されるVCM16により、磁気ディスク11の半径方向に移動される。
磁気ディスク11の回転が停止しているときなどは、磁気ヘッド22は、ランプ13上に移動される。ランプ13は、磁気ヘッド22を、磁気ディスク11から離間した位置で保持するように構成されている。
ヘッドIC24は、リード時に、磁気ヘッド22が磁気ディスク11からリードした信号を増幅して出力し、RWC25に供給する。また、ヘッドIC24は、ライト時に、RWC25から供給されたデータに対応した信号を増幅して、磁気ヘッド22に供給する。
RWC25は、HDC23から供給されるデータに対し、誤り訂正符号化を含む変調を行ってヘッドIC24に供給する。また、RWC25は、磁気ディスク11からリードされヘッドIC24から供給された信号に対し、誤り訂正を含む復調を実行してデジタルデータとしてHDC23へ出力する。
RWC25が実行する誤り訂正符号化は、セクタECC(Error Correcting Code)訂正のための誤り訂正符号化、およびトラックECC訂正のためのパリティの生成を含む。RWC25が実行する誤り訂正は、セクタECC訂正およびトラックECC訂正を含む。セクタECC訂正およびトラックECC訂正については後述する。
HDC23は、I/F バスを介してホスト2との間で行われるデータの送受信の制御、バッファメモリ29の制御、などを行う。
バッファメモリ29は、ホスト2との間で送受信されるデータのバッファとして用いられる。バッファメモリ29は、例えば、高速な動作が可能な揮発性メモリによって構成される。バッファメモリ29を構成するメモリの種類は、特定の種類に限定されない。バッファメモリ29は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成され得る。
プロセッサ26は、例えば、CPU(Central Processing Unit)である。プロセッサ26には、RAM27、FROM(Flash Read Only Memory)28およびバッファメモリ29が接続されている。
FROM28には、ファームウェア(プログラムデータ)および各種の動作パラメータなどが格納される。また、FROM28は、電力供給の停止時には、RAM27内の種々の情報の緊急保存先として使用される。なお、ファームウェアの一部または全部は、磁気ディスク11に格納されてもよい。
RAM27は、例えばDRAM、SRAM、またはこれらの組み合わせによって構成される。RAM27は、プロセッサ26によって、ファームウェアがロードされる領域、または各種の管理情報がキャッシュまたはバッファされる領域として使用される。
プロセッサ26は、ファームウェアをFROM28からRAM27にロードし、ロードされたファームウェアに従って、モータドライバIC21、ヘッドIC24、RWC25、HDC23などの制御を実行する。プロセッサ26は、制御に際し、RAM27にキャッシュまたはバッファされた種々の管理情報を使用する。
RWC25、プロセッサ26およびHDC23を含む構成は、コントローラ30と見なすこともできる。コントローラ30は、これらのほかに、他の要素(例えばRAM27、FROM28、またはバッファメモリ29など)を含んでいてもよい。
コントローラ30の機能の一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。コントローラ30の機能の一部または全部は、プロセッサ26がファームウェアを実行することによって実現されてもよい。
図2は、第1の実施形態の磁気ディスク11の構成の一例を示す模式的な図である。
磁気ディスク11には、製造工程において、例えばサーボライタによって、またはセルフサーボライト(SSW)によって、サーボ情報がライトされる。図2によれば、サーボ情報がライトされたサーボ領域の配置の一例として放射状に配置されたサーボ領域42が示されている。
サーボ情報は、セクタ/シリンダ情報、バーストパターン、およびポストコードなどを含む。セクタ/シリンダ情報は、磁気ディスク11の円周方向の位置情報(サーボセクタ番地)および半径方向に設定されたトラックの位置情報(トラック番号)を与えることができる。セクタ/シリンダ情報から得られるトラック番号は、トラックの位置を表す整数値であり、バーストパターンは、トラック番号が表す位置を基準とした小数点以下のオフセット量を表す。ポストコードは、セクタ/シリンダ情報とバーストパターンとの組み合わせに基づいて設定されるトラックの形状の歪みを補正するための補正量である。
プロセッサ26およびモータドライバIC21は、サーボ領域42からリードしたサーボ情報に基づき、シークやフォローイングなどの磁気ヘッド22の位置決め制御を実行する。
サーボ領域42の間には、データがライトされ得るデータ領域43が設けられている。1つのサーボ領域42と、当該サーボ領域42に後続する1つのデータ領域43は、サーボセクタ44を構成する。そして、磁気ディスク11の半径方向には、同心円の複数のトラック41が設定されている。
データ領域43には、各トラック41に沿って複数のセクタが設けられる。セクタ単位で磁気ヘッド22によるライトおよびリードが実行される。各セクタの記憶容量は、任意であるが、基本的に磁気ディスク11内で均一とされる。
図3は、第1の実施形態の1つのトラック41の構成の一例を示す模式的な図である。本図では、サーボ領域42の図示が省略されている。
各セクタは、セクタ番号によって識別される。セクタ番号がxであるセクタを、セクタ#xと表記する。図3に示される例では、トラック41は、セクタ#1からセクタ#(n+1)までの(n+1)個のセクタを有する。
(n+1)個のセクタのうちの末尾、つまり最も大きいセクタ番号が与えられたセクタ#(n+1)は、パリティがライトされる専用のセクタに設定されている。n個のセクタ#1~#nにはそれぞれセクタに対応したサイズのデータ片#1~#nがライトされ、セクタ#(n+1)には、セクタ#1~#nにライトされるn個のデータ片#1~#nに基づいて生成されたパリティがライトされる。
よって、セクタ#1~#nにn個のデータ片がライトされ、当該n個のデータ片に基づいて生成されたパリティがセクタ#(n+1)にライトされた場合、セクタ#1~#nにライトされたn個のデータ片は当該パリティによって保護される。つまり、n個のセクタ#1~#nの何れかのセクタに対するリードに失敗したとしても、セクタ#(n+1)にライトされたパリティを用いた誤り訂正によって、誤りを含まない状態の当該データ片を取得することが可能である。なお、リードに失敗するとは、誤りを含まない状態のデータ片を取得することに失敗することをいう。より具体的には、リードに失敗するとは、リードしたデータ片に対するセクタECC訂正に失敗することである。
以降、セクタ#(n+1)のようなパリティがライトされるように構成されたセクタを、パリティセクタと表記する。また、セクタ#1~#nのそれぞれのように、パリティの生成の元とされ得るデータ片がライトされるように構成されたセクタを、データセクタと表記する。
1つのトラック41において、全部のデータセクタにライトされた全部のデータ片に基づいて生成されたパリティがパリティセクタにライトされると、当該全部のデータ片は、当該パリティによって保護された状態となる。その後、当該トラック41の一部のデータセクタに対しデータ片のオーバーライトが行われると、オーバーライトに応じて当該パリティがアップデートされない限り、当該パリティによる保護は無効である。
パリティによる保護が無効であるときに当該パリティを用いた誤り訂正が実行された場合、当該誤り訂正によって、期待されたデータ片と異なるデータ片が取得される場合がある。よって、パリティによる保護が有効であるか無効であるかをトラック41単位で管理することが必要である。
ここで、実施形態と比較される技術について説明する。実施形態と比較される技術は、比較例と表記される。比較例によれば、パリティによる保護が有効であるか無効であるかをトラック毎に記録した管理情報がRAMにキャッシュされており、管理情報はRAM上で参照および更新される。管理情報は、電力供給の停止および再開のサイクルを経ても磁気ディスク装置から消失しないように、適時、磁気ディスクまたはFROMに保存される。例えば、電力供給が継続中の期間には、管理情報の更新分は、管理情報が更新される毎に、磁気ディスクに保存される。電力供給の停止時には管理情報の更新分はスピンドルモータの逆起電力などを利用してFROMに保存される。
近年の磁気ディスク装置は、膨大な数のトラックを有する。管理情報は、磁気ディスク装置が有するトラックの数に応じたサイズを有する。よって、近年の磁気ディスク装置に比較例を適用した場合、巨大なサイズの管理情報をRAMに置くことになる。磁気ディスクおよびFROMへのアクセスには、比較的大きなオーバヘッドが生じる。よって、管理情報が更新される毎に管理情報の保存を行うように比較例の磁気ディスク装置が構成された場合、管理情報の更新分の保存の処理にハードウェアリソースが割かれることによって、ホストに対する応答性能が悪化する。
ホストに対する応答性能の悪化を抑制するために管理情報の更新分を所定量まで溜めてから管理情報の更新分の保存を行うように比較例の磁気ディスク装置を構成することが考えられる。しかしながら、RAM内に溜まった未保存の更新分の量が多くなりすぎると、電力供給の停止時において当該更新分のFROMへの保存を完了することが困難になる。
第1の実施形態では、各トラック41のパリティセクタは、パリティだけでなく、当該パリティによる保護が有効であるか無効であるかを示すビット情報である第1冗長情報がライトされるように構成される。コントローラ30は、リード対象のデータセクタに対するリードに失敗した場合、磁気ヘッド22をリード対象のデータセクタを含むトラック41上に維持した状態で第1冗長情報のリードを行い、リードした第1冗長情報に基づき、パリティによる保護が有効であるか無効であるかを特定する。
つまり、第1の実施形態では、管理情報をRAM27に格納する必要がない。よって、第1の実施形態によれば、比較例に比べてRAM27のサイズを削減できる。また、RAM27内の管理情報の更新分を磁気ディスク11に保存する処理に起因したホスト2に対する応答性能の悪化が抑制される。また、電力供給の停止時に管理情報の更新分をFROM28に保存する処理が不要である。
さらに、第1の実施形態では、パリティによる保護が有効であるか無効であるかをできるだけ早く判定できるように、データ片に加えて、パリティによる保護が有効であるか無効であるかを示す第2冗長情報が各データセクタにライトされる。コントローラ30は、トラック41に設けられたデータセクタのうちの一部をライト対象としてデータ片のライトを実行する場合、パリティセクタに第1冗長情報として無効を示す値をライトするだけでなく、ライト対象の各データセクタの第2冗長情報として、無効を示す値をライトする。
各データセクタにライトされるデータ片は、個別に誤り訂正符号化されている。つまり、コントローラ30(より詳細にはRWC25)は、1つのデータセクタからリードしたデータ片を復号することによって、当該データ片に対する誤り訂正を実行できる。このセクタ単位の誤り訂正を、セクタECC訂正と表記する。これに対し、パリティセクタにライトされたパリティを用いた誤り訂正を、トラックECC訂正と表記する。
コントローラ30は、リード対象のデータセクタからリードしたデータ片に対してセクタECC訂正を実行する。セクタECC訂正に失敗した場合、コントローラ30は、トラックECC訂正を開始する。なお、トラックECC訂正の開始の前には、リード対象のデータセクタに対するリードおよびリードしたデータ片に対するセクタECC訂正は、セクタECC訂正に成功するまで1以上の所定回数、再実行され得る。リード対象のデータセクタに対するリードおよびリードしたデータ片に対するセクタECC訂正を再実行する動作は、リードリトライとも称される。
トラックECC訂正の実行の際には、コントローラ30は、第1冗長情報または第2冗長情報に基づいてパリティによる保護が有効であるか無効であるかを判定する。パリティによる保護が有効であり、かつトラックECC訂正に成功した場合、トラックECC訂正によって取得した誤りを含まない状態のデータ片を後の処理、例えばホスト2への応答、に使用する。パリティによる保護が無効である場合、トラックECC訂正の処理を中断するか、またはトラックECC訂正が完了した場合にはトラックECC訂正によって取得したデータ片を破棄する。
セクタECC訂正のための誤り訂正符号化の方式は、特定の方式に限定されない。例えば、セクタECCのための誤り訂正符号化の方式として、低密度パリティ検査符号(Low-Density Parity-Check Code)が適用され得る。
トラックECC訂正のための誤り訂正符号化の方式、つまりパリティの生成方法は、特定の方式に限定されない。一例では、パリティは、全データセクタにライトされる全データ片に対するXORのビット演算によって生成される。
トラックECC訂正の開始の条件は、リード対象のデータセクタからリードしたデータ片に対するセクタECC訂正に失敗することだけに限定されない。コントローラ30は、任意の条件でトラックECC訂正が開始されるよう、構成されてもよい。例えば、コントローラ30は、リード対象がトラック41の全部のデータセクタである場合にトラックECC訂正を開始するよう構成されてもよい。コントローラ30は、たとえセクタECC訂正に成功したとしてもリードの実行中にオフトラックが発生した場合にトラックECC訂正を開始するよう構成されてもよい。
1つのトラック41に設けられた各セクタは、第1セクタの一例である。データセクタは、第2セクタの一例である。パリティセクタは、第3セクタの一例である。第1冗長情報は、第1情報の一例である。第2冗長情報は、第2情報の一例である。
続いて、第1の実施形態の磁気ディスク装置1の動作を説明する。
図4は、第1の実施形態の磁気ディスク装置1の、ライト時の動作の一例を示すフローチャートである。本図の説明において、ライト対象のデータセクタを含むトラック41を対象トラック41と表記する。
まず、コントローラ30は、対象トラック41の全部のデータセクタがライト対象であるか否かを判定する(S101)。
ホスト2からライトが要求されたデータは、バッファメモリ29に蓄積される。コントローラ30は、バッファメモリ29内のデータをセクタ単位の1以上のデータ片に分割し、データ片毎にライト先のデータセクタを対応付けて管理する。コントローラ30は、バッファメモリ29に蓄積されたデータのうちから、対象トラック41へのライトを行う1以上のデータ片を選択する。コントローラ30は、選択した1以上のデータ片のライト先に基づき、対象トラック41の全部のデータセクタがライト対象であるか否かを判定する。
例えば、図3の例に従えば、セクタ#1~#nにライトされるn個のデータ片を選択した場合、コントローラ30は、対象トラック41の全部のデータセクタがライト対象であると判定する。セクタ#1~#nのうちの一部の1以上のセクタにライトされる1個以上のデータ片を選択し、セクタ#1~#nのうちにデータ片のライトが実行されないセクタが存在する場合、コントローラ30は、対象トラック41の全部のデータセクタがライト対象というわけではなく、対象トラック41の一部の1以上のデータセクタがライト対象であると判定する。
対象トラック41の全部のデータセクタがライト対象である場合(S101:Yes)、コントローラ30は、対象トラック41の各データセクタに、データ片と、第2冗長情報として有効を示す値と、をライトする(S102)。さらに、コントローラ30は、対象トラック41にライトされる全部のデータ片を用いてパリティを生成する(S103)。そして、対象トラック41のパリティセクタに、パリティと、第1冗長情報として有効を示す値と、をライトする(S104)。
対象トラック41の一部の1以上のデータセクタがライト対象である場合(S101:No)、ライト対象の各データセクタに、データ片と、第2冗長情報として無効を示す値と、をライトする(S105)。さらに、コントローラ30は、対象トラック41のパリティセクタに、第1冗長情報として無効を示す値をライトする(S106)。
S104またはS106の後、ライト時の動作が終了する。
図4に示した一連の動作によって、対象トラック41の全部のデータセクタに対するライトが実行される場合には、パリティによる保護が有効であることを示す値が、ライト対象の各データセクタとパリティセクタとに第1冗長情報または第2冗長情報としてライトされる。その後、対象トラック41の一部の1以上のデータセクタに対するオーバーライトが実行される場合には、パリティによる保護が無効であることを示す値が、ライト対象の各データセクタとパリティセクタとに第1冗長情報または第2冗長情報としてライトされる。
図5は、第1の実施形態の磁気ディスク装置1の、リード時の動作の一例を示すフローチャートである。本図の説明において、リード対象のデータセクタを含むトラック41を、対象トラック41と表記する。また、本図では、1つのデータセクタがリード対象とされる例について説明する。本図に示される説明においては、リード対象のデータセクタは、リード対象の1以上のデータセクタと読み替えることができる。つまり、本図に示す動作は、2以上のデータセクタがリード対象であっても実行が可能である。
まず、コントローラ30は、リード対象のデータセクタからデータ片をリードして、リードしたデータ片に対するセクタECC訂正を実行する(S201)。そして、コントローラ30は、セクタECC訂正に成功したか否かを判定する(S202)。
セクタECC訂正に失敗した場合(S202:No)、コントローラ30は、セクタECC訂正の実行回数が設定された上限に到達したか否かを判定する(S203)。セクタECC訂正の実行回数が設定された上限に到達していない場合(S203:No)、制御がS201に移行して、コントローラ30は、リード対象のデータセクタからのデータ片のリードおよびセクタECC訂正を再実行する。
セクタECC訂正の実行回数が設定された上限に到達した場合(S203:Yes)、コントローラ30は、トラックECC訂正動作を開始する(S204)。トラックECC訂正動作では、コントローラ30は、対象トラック41の全部のセクタに対するリードを行い、リードした全てのデータ片と、パリティと、を用いてトラックECC訂正を実行する。
トラックECC訂正動作では、コントローラ30は、対象トラック41の各セクタから、データ片またはパリティに加えて、第1冗長情報または第2冗長情報をリードする。コントローラ30は、第1冗長情報または第2冗長情報として無効を示す値がリードされたか否かを判定する(S205)。少なくとも1つのセクタから第1冗長情報または第2冗長情報として無効を示す値がリードされた場合(S205:Yes)、コントローラ30は、トラックECC訂正動作を中断する(S206)。
なお、トラックECC訂正は、例えばRWC25において実行される。第1冗長情報または第2冗長情報として無効を示す値がリードされたか否かの判定と、当該判定の結果に基づくトラックECC訂正動作の停止の処理は、プロセッサ26において実行される。よって、第1冗長情報または第2冗長情報として無効を示す値がリードされたことがトラックECC訂正の完了の後にプロセッサ26によって認識される場合があり得る。第1冗長情報または第2冗長情報として無効を示す値がリードされたことがトラックECC訂正の完了後に判明した場合、コントローラ30は、トラックECC訂正によって取得したデータ片を破棄する。
S206の後、コントローラ30は、エラー処理を実行し(S207)、リード時の動作が終了する。エラー処理は、任意に構成される。例えば、エラー処理では、コントローラ30は、ホスト2に、リード対象のデータセクタからのデータのリードに失敗したことを通知する。
トラックECC訂正動作が完了し、トラックECC訂正動作の最中に、いずれのセクタからも第1冗長情報または第2冗長情報として無効を示す値がリードされなかった場合(S205:No)、コントローラ30は、トラックECC訂正に成功したか否かを判定する(S208)。
セクタECC訂正に成功した場合(S202:Yes)、またはトラックECC訂正に成功した場合(S208:Yes)、コントローラ30は、セクタECC訂正またはトラックECC訂正によって取得したデータ片を使用し(S209)、リード時の動作が終了する。なお、前述したように、データ片を使用するとは、当該データ片をバッファメモリ29を経由してホスト2に送信するなどである。
トラックECC訂正に失敗した場合(S208:No)、制御がS207に移行して、コントローラ30はエラー処理を実行する。
以上説明された構成によれば、各データセクタには、データ片に加えて第2冗長情報がライトされた。各データセクタに第2冗長情報をライトする構成はオプショナルである。コントローラ30は、各データセクタに第2冗長情報をライトしなくても、パリティセクタに第1冗長情報をライトする限り、パリティによる保護が有効であるか否かを判断することが可能である。
例えば、トラック41の全部のデータセクタに対するライトの際には、コントローラ30は、トラック41の全部のデータセクタのそれぞれにデータ片をライトし、トラック41の全部のデータセクタにライトされる全部のデータ片に基づいてパリティを生成し、パリティと、第1冗長情報として当該パリティによる保護が有効であることを示す値と、をパリティセクタにライトする。トラック41の全部のデータセクタに対するライトの後のトラック41の一部である1以上のデータセクタに対するオーバーライトの際には、コントローラ30は、ライト対象の1以上のデータセクタのそれぞれにデータ片をオーバーライトし、第1冗長情報としてパリティによる保護が無効であることを示す値をパリティセクタにオーバーライトする。トラックECC訂正動作において、パリティセクタからリードされた第1冗長情報が無効であることを示す場合には、コントローラ30は、トラックECC訂正を中断またはトラックECC訂正によって得られたデータ片を破棄する。パリティセクタからリードされた第1冗長情報が有効であることを示す場合には、コントローラ30は、トラックECC訂正によって得られたデータ片を使用する。
第1の実施形態の説明では、トラック41の全部のデータセクタに対するライトの際には、コントローラ30は、各データセクタには、データ片に加えて、第2冗長情報としてパリティによる保護が有効であることを示す値をライトする。トラック41の全部のデータセクタに対するライトの後のトラック41の一部である1以上のデータセクタに対するオーバーライトの際には、コントローラ30は、ライト対象の1以上のデータセクタのそれぞれには、データ片とともに第2冗長情報としてパリティによる保護が無効であることを示す値をオーバーライトする。
コントローラ30は、トラックECC訂正動作の際にリードした第1冗長情報および第2冗長情報のうちの何れかが無効を示す場合、パリティによる保護が無効であることを特定できる。
具体的には、コントローラ30は、トラックECC訂正動作において、トラック41の全部のセクタに対するリードを実行し、全部のデータセクタからリードした全部のデータ片と、パリティセクタからリードしたパリティとを用いた誤り訂正を開始する。全部のセクタからリードした第1冗長情報または第2冗長情報の全部がパリティによる保護が有効であることを示す場合、コントローラ30は、トラックECC訂正動作を中断せず、トラックECC訂正によって得られるデータ片を使用する。全部のセクタからリードした第1冗長情報または第2冗長情報のうちの何れかがパリティによる保護が無効であることを示す場合、コントローラ30は、トラックECC訂正動作を中断するかまたはトラックECC訂正によって得られるデータ片を使用しない。
よって、コントローラ30は、トラックECC訂正動作の際に、磁気ヘッド22がパリティセクタに至る前に第2冗長情報として無効を示す値がライトされたデータセクタを通過した場合、パリティによる保護が無効であることを第2冗長情報として無効を示す値をリードした時点で認識することができる。パリティによる保護が無効であることを早く判断することができるので、リードに要する時間を短縮することができる。
以上述べたように、第1の実施形態によれば、トラック41が有する複数のセクタは、それぞれはデータ片がライトされるように構成された複数のデータセクタと、パリティおよびパリティによる保護が有効であるか否かを示す第1冗長情報がライトされるように構成されたパリティセクタと、を含む。
よって、パリティによる保護が有効であるか無効であるかをトラック毎に記録した管理情報をRAM27に格納する必要がない。よって、第1の実施形態によれば、比較例に比べてRAM27のサイズを削減できる。また、RAM27内の管理情報の更新分を磁気ディスク11に保存する処理に起因したホスト2に対する応答性能の悪化が抑制される。また、電力供給の停止時に管理情報の更新分をFROM28に保存する処理が不要である。つまり、比較例に比べ、パリティセクタにライトされたパリティによる保護が有効であるか無効であるかを適切に管理することができる。
(変形例1)
第1の実施形態の変形例として、変形例1の磁気ディスク装置1について説明する。変形例1の磁気ディスク装置1は、リード時の動作が第1の実施形態の磁気ディスク装置1と異なる。
図6は、変形例1の磁気ディスク装置1の、リード時の動作の一例を示すフローチャートである。本図の説明において、リード対象のデータセクタを含むトラック41を、対象トラック41と表記する。また、本図では、1つのデータセクタがリード対象とされる例について説明する。本図に示される説明においては、リード対象のデータセクタは、リード対象の1以上のデータセクタと読み替えることができる。つまり、本図に示す動作は、2以上のデータセクタがリード対象であっても実行が可能である。
まず、コントローラ30は、S301、S302において、図5に示したS201、S202と同じ処理を実行する。
セクタECC訂正に失敗した場合(S302:No)、コントローラ30は、図5に示したS203と同様、セクタECC訂正の実行回数が設定された上限に到達したか否かを判定する(S303)。
セクタECC訂正の実行回数が設定された上限に到達していない場合(S303:No)、コントローラ30は、リード対象のデータセクタからデータ片をリードして、リードしたデータ片に対するセクタECC訂正を再実行する(S304)。リード対象のデータセクタに対するリードおよびセクタECC訂正が再実行される際には、磁気ヘッド22は対象トラック41上に位置決めされる。S304では、コントローラ30は、磁気ヘッド22が対象トラック41の各セクタを通過するとき、第1冗長情報または第2冗長情報をリードする。
セクタECC訂正の実行回数が設定された上限に到達した場合(S303:Yes)、コントローラ30は、S304の処理において、第1冗長情報または第2冗長情報として無効を示す値がリードされたか否かを判定する(S305)。
少なくとも1つのセクタから、第1冗長情報または第2冗長情報として無効を示す値がリードされた場合(S305:Yes)、コントローラ30は、エラー処理を実行し(S306)、リード時の動作が終了する。S306において実行されるエラー処理は、例えば、図5に示したS207で実行されるエラー処理と同じである。
いずれのセクタからも第1冗長情報または第2冗長情報として無効を示す値がリードされなかった場合(S305:No)、コントローラ30は、トラックECC訂正動作を開始する(S307)。トラックECC訂正動作では、コントローラ30は、対象トラック41の全部のセクタに対してリードを行い、リードされた全てのデータ片と、パリティと、を用いてトラックECC訂正を実行する。
トラックECC訂正動作が完了すると、コントローラ30は、トラックECC訂正に成功したか否かを判定する(S308)。
セクタECC訂正に成功した場合(S302:Yes)、またはトラックECC訂正に成功した場合(S308:Yes)、コントローラ30は、セクタECC訂正またはトラックECC訂正によって取得したデータ片を使用し(S309)、リード時の動作が終了する。
トラックECC訂正に失敗した場合(S308:No)、制御がS306に移行して、コントローラ30はエラー処理を実行する。
変形例1では、リード対象のデータセクタに対するリードおよびセクタECC訂正が再実行される際に、各セクタから第1冗長情報または第2冗長情報がリードされることで、パリティによる保護が有効であるか無効であるかがトラックECC訂正動作の開始の前に判定される。そして、パリティによる保護が有効であるか無効であることが判明した場合、トラックECC訂正動作の開始は行われずにエラー処理が実行される。
よって、リードに要する時間をさらに早くすることが可能である。
(第2の実施形態)
第2の実施形態の磁気ディスク装置1aについて説明する。なお、第1の実施形態の磁気ディスク装置1と同じ事項については説明を省略するか、または簡略的に説明する。
図7は、第2の実施形態の1つのトラック41の構成の一例を示す模式的な図である。本図では、サーボ領域42の図示が省略されている。
第2の実施形態では、各データセクタにはデータ片がライトされる。ただし、第1の実施形態と異なり、各データセクタには第2冗長情報はライトされない。
パリティセクタには、1以上のデータセクタにライトされたデータ片を元に生成されたパリティがライトされる。また、パリティの生成の元となった1以上のデータ片がライトされた範囲を示す情報が、第1冗長情報としてパリティとともにパリティセクタにライトされる。即ち、第1冗長情報が示す範囲にライトされた1以上のデータ片は、パリティによって保護される。つまり、第1冗長情報は、パリティによる保護が有効な範囲を示す。
図8は、第2の実施形態の磁気ディスク装置1aの、ライト時の動作の一例を示すフローチャートである。本図の説明において、ライト対象のデータセクタを含むトラック41は、対象トラック41と表記される。
コントローラ30は、対象トラック41の全部のライト対象のデータセクタのそれぞれにデータ片をライトする(S401)。対象トラック41の全部のデータセクタがライト対象である場合には、コントローラ30は、全部のデータセクタにデータ片のライトを実行する。対象トラック41の一部の1以上のデータセクタがライト対象である場合には、ライト対象の1以上のデータセクタのそれぞれにデータ片のライトを実行する。
さらに、コントローラ30は、対象トラック41にライトされる全部のデータ片、即ちS401においてライトされる全てのデータ片、を用いてトラックECC訂正用のパリティを生成する(S402)。そして、対象トラック41のパリティセクタに、パリティと、第1冗長情報として保護範囲を示す値と、をライトする(S403)。そして、ライト時の動作が終了する。
なお、S403においてライトされる保護範囲を示す値は、S401においてデータ片がライトされた全部のデータセクタを示す値である。
図9は、第2の実施形態の磁気ディスク装置1aの、リード時の動作の一例を示すフローチャートである。本図の説明において、リード対象のデータセクタを含むトラック41を、対象トラック41と表記する。また、本図では、1つのデータセクタがリード対象とされる例について説明する。本図に示される説明においては、リード対象のデータセクタは、リード対象の1以上のデータセクタと読み替えることができる。つまり、本図に示す動作は、2以上のデータセクタがリード対象であっても実行が可能である。
まず、コントローラ30は、リード対象のデータセクタからデータ片をリードして、リードしたデータ片に対するセクタECC訂正を実行する(S501)。そして、コントローラ30は、セクタECC訂正に成功したか否かを判定する(S502)。
セクタECC訂正に失敗した場合(S502:No)、コントローラ30は、セクタECC訂正の実行回数が設定された上限に到達したか否かを判定する(S503)。セクタECC訂正の実行回数が設定された上限に到達していない場合(S503:No)、制御がS501に移行して、コントローラ30は、データ片のリードおよびセクタECC訂正を再実行する。
セクタECC訂正の実行回数が設定された上限に到達した場合(S503:Yes)、コントローラ30は、トラックECC訂正動作を開始する(S504)。トラックECC訂正動作では、コントローラ30は、対象トラック41の全部のセクタに対してリードを行い、リードされた全てのデータ片と、パリティと、を用いてトラックECC訂正を実行する。
トラックECC訂正動作では、コントローラ30は、パリティセクタからリードされた第1冗長情報が示す保護範囲は全部のデータセクタであるか否かを判定する(S505)。
第1冗長情報が示す保護範囲は全部のデータセクタではない場合(S505:No)、S505で開始したトラックECC訂正動作ではリード対象のデータセクタのデータ片を誤りを含まない状態で取得することができない。よって、コントローラ30は、トラックECC訂正動作を中断する(S506)。第1冗長情報が示す保護範囲は全部のデータセクタではないことがトラックECC訂正の完了後に判明した場合、コントローラ30は、トラックECC訂正によって取得したデータ片を破棄する。
そして、コントローラ30は、リード対象のデータセクタが第1冗長情報の示す保護範囲に含まれるか否かを判定する(S507)。
リード対象のデータセクタが第1冗長情報の示す保護範囲に含まれない場合(S507:No)、パリティを用いた誤り訂正ではリード対象のデータセクタのデータ片の誤りを含まない状態で取得することができないため、コントローラ30は、エラー処理を実行し(S508)、リード時の動作が終了する。S508で実行されるエラー処理は、例えば、第1の実施形態において実行されるエラー処理と同じである。
リード対象のデータセクタが第1冗長情報の示す保護範囲に含まれる場合(S507:Yes)、コントローラ30は、トラックECC訂正動作を再び開始する(S509)。ただし、S509において開始されるトラックECC訂正動作では、コントローラ30は、第1ビット情報が示す保護範囲に含まれる全部のデータセクタおよびパリティセクタに対するリードを含む。コントローラ30は、第1ビット情報が示す保護範囲に含まれる全部のデータセクタからリードされたデータ片と、パリティセクタからリードされたパリティと、に基づいてトラックECC訂正を実行する。
S509で開始されたトラックECC訂正動作が完了した後、または第1冗長情報が示す保護範囲は全部のデータセクタである場合(S505:Yes)、コントローラ30は、トラックECC訂正に成功したか否かを判定する(S510)。
セクタECC訂正に成功した場合(S502:Yes)、またはトラックECC訂正に成功した場合(S510:Yes)、コントローラ30は、セクタECC訂正またはトラックECC訂正によって取得したデータ片を使用し(S511)、リード時の動作が終了する。
トラックECC訂正に失敗した場合(S510:No)、制御がS508に移行して、コントローラ30はエラー処理を実行する。
このように、第2の実施形態では、トラック41が有する複数のセクタは、それぞれはデータ片がライトされるように構成された複数のデータセクタと、パリティおよびパリティによる保護が有効な範囲を示す第1冗長情報がライトされるように構成されたパリティセクタと、を含む。
よって、パリティによる保護が有効であるか無効であるかをトラック毎に記録した管理情報をRAM27に格納する必要がない。つまり、第1の実施形態と同様、比較例に比べ、パリティセクタにライトされたパリティによる保護が有効であるか無効であるかを適切に管理することができる。
また、第2の実施形態によれば、コントローラ30は、トラック41のデータセクタのうちの一部である1以上のデータセクタに対するライトを行う際に、ライト対象である当該1以上のデータセクタにライトされる全部のデータ片に基づいてパリティを生成する。そして、コントローラ30は、当該パリティと、ライト対象である当該1以上のデータセクタを示す値と、をパリティセクタにライトする。
よって、ライト対象がトラック41の全部のデータセクタでない場合であっても、ライト対象のデータセクタにライトされるデータ片に関してはパリティによる保護を有効にすることができる。つまり、データセクタにライトされたデータ片の信頼性が向上する。
また、第2の実施形態によれば、コントローラ30は、1以上のデータセクタをリード対象としたリードに失敗した場合、トラックECC訂正動作を開始する。トラックECC訂正動作では、コントローラ30は、トラック41の全部のデータセクタからリードされた全部のデータ片と、パリティセクタからリードされたパリティと、を用いたトラックECC訂正を開始する。第1冗長情報が示す保護範囲はトラック41の全部のデータセクタである場合には、コントローラ30は、トラックECC訂正によって得られるデータを使用する。第1冗長情報が示す保護範囲はトラック41の全部のデータセクタでない場合には、コントローラ30は、トラックECC訂正を中断またはトラックECC訂正によって得られるデータを破棄する。トラックECC訂正を中断またはトラックECC訂正によって得られるデータを破棄した後、リード対象の1以上のデータセクタの第1冗長情報が示す保護範囲に含まれている場合には、第1冗長情報が示す保護範囲に含まれる全部のデータセクタとパリティセクタとに対するリードを実行し、第1冗長情報が示す保護範囲に含まれる全部のデータセクタからリードした全部のデータ片とパリティセクタからリードしたパリティとを用いたトラックECC訂正を開始し、このトラックECC訂正で得られるデータ片を使用する。
よって、ライト対象がトラック41の全部のデータセクタでない場合であっても、トラックECC訂正によって誤りを有さない状態のデータ片を取得することが可能である。
(変形例2)
第2の実施形態の変形例として、変形例2の磁気ディスク装置1aについて説明する。変形例2の磁気ディスク装置1aは、リード時の動作が第2の実施形態の磁気ディスク装置1aと異なる。
図10は、変形例2の磁気ディスク装置1aの、リード時の動作の一例を示すフローチャートである。また、本図では、1つのデータセクタがリード対象とされる例について説明する。本図に示される説明においては、リード対象のデータセクタは、リード対象の1以上のデータセクタと読み替えることができる。つまり、本図に示す動作は、2以上のデータセクタがリード対象であっても実行が可能である。
まず、コントローラ30は、S601、S602において、図9に示したS501、S502と同じ処理を実行する。
セクタECC訂正に失敗した場合(S602:No)、コントローラ30は、図9に示したS503と同様、セクタECC訂正の実行回数が設定された上限に到達したか否かを判定する(S603)。
セクタECC訂正の実行回数が設定された上限に到達していない場合(S603:No)、コントローラ30は、リード対象のデータセクタからデータ片をリードして、リードしたデータ片に対するセクタECC訂正を再実行する(S604)。リード対象のデータセクタに対するリードおよびセクタECC訂正が再実行される際には、磁気ヘッド22は対象トラック41上に位置決めされる。S304では、コントローラ30は、磁気ヘッド22がパリティセクタを通過するとき、第1冗長情報をリードする。コントローラ30は、磁気ヘッド22がリード対象のデータセクタを通過するとき、リード対象のデータセクタからデータ片をリードする。
セクタECC訂正の実行回数が設定された上限に到達した場合(S603:Yes)、コントローラ30は、リード対象のデータセクタはS604の処理においてリードされた第1冗長情報が示す保護範囲に含まれるか否かを判定する(S605)。
リード対象のデータセクタが第1冗長情報の示す保護範囲に含まれない場合(S605:No)、パリティを用いた誤り訂正ではリード対象のデータセクタにライトされたデータの誤りを含まない状態で取得することができないため、コントローラ30は、エラー処理を実行し(S606)、リード時の動作が終了する。S606で実行されるエラー処理は、例えば、第1の実施形態において実行されるエラー処理と同じである。
リード対象のデータセクタが第1冗長情報の示す保護範囲に含まれる場合(S605:Yes)、コントローラ30は、トラックECC訂正動作を開始する(S607)。トラックECC訂正動作では、コントローラ30は、第1ビット情報が示す保護範囲に含まれる全部のデータセクタおよびパリティセクタに対するリードを含む。コントローラ30は、第1ビット情報が示す保護範囲に含まれる全部のデータセクタからリードされたデータ片と、パリティセクタからリードされたパリティと、に基づいてトラックECC訂正を実行する。
トラックECC訂正動作が完了すると、コントローラ30は、トラックECC訂正に成功したか否かを判定する(S608)。
セクタECC訂正に成功した場合(S602:Yes)、またはトラックECC訂正に成功した場合(S608:Yes)、コントローラ30は、セクタECC訂正またはトラックECC訂正によって取得したデータ片を使用し(S609)、リード時の動作が終了する。
トラックECC訂正に失敗した場合(S608:No)、制御がS606に移行して、コントローラ30はエラー処理を実行する。
変形例1では、リード対象のデータセクタに対するリードおよびセクタECC訂正が再実行される際に、パリティセクタから第1冗長情報がリードされることで、リード対象のデータセクタはパリティによって保護されているか否かがトラックECC訂正動作の開始の前に判定される。そして、リード対象のデータセクタはパリティによって保護されていないことが判明した場合、トラックECC訂正動作の開始は行われずにエラー処理が実行される。
よって、リードに要する時間をさらに早くすることが可能である。
第1の実施形態、第2の実施形態、およびそれらの変形例によれば、パリティセクタには、トラックECC訂正の制御のための第1冗長情報がライトされる。よって、磁気ディスク装置1,1aは、次に述べる特徴的な動作を実行する。即ち、コントローラ30は、磁気ヘッド22を用いてトラック41の一部の1以上のデータセクタに対するライトに応じてパリティセクタに対するライトを実行する。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1,1a 磁気ディスク装置、2 ホスト、11 磁気ディスク、12 スピンドルモータ、13 ランプ、15 アクチュエータアーム、16 ボイスコイルモータ、21 モータドライバIC、22 磁気ヘッド、22r リードヘッド、22w ライトヘッド、23 HDC、24 ヘッドIC、25 RWC、26 プロセッサ、27 RAM、28 FROM、29 バッファメモリ、30 コントローラ、41 トラック、42 サーボ領域、43 データ領域、44 サーボセクタ。

Claims (10)

  1. 複数の第1セクタを含むトラックを有し、前記複数の第1セクタは、それぞれはデータ片がライトされるように構成された複数の第2セクタと、パリティおよび前記パリティによる保護が有効であるか否かを示す第1情報がライトされるように構成された第3セクタと、を含む、磁気ディスクと、
    磁気ヘッドと、
    前記磁気ヘッドを用いて前記磁気ディスクにアクセスするよう構成されたコントローラと、
    を備える磁気ディスク装置。
  2. 前記コントローラは、
    前記複数の第2セクタの全部に対するライトの際に、前記複数の第2セクタにライトされる全部のデータ片に基づいてパリティを生成し、前記パリティと、前記第1情報として前記パリティによる保護が有効であることを示す値と、を前記第3セクタにライトし、
    前記複数の第2セクタの全部に対する前記ライトの後の前記複数の第2セクタのうちの一部に対するオーバーライトの際に、前記第1情報として前記パリティによる保護が無効であることを示す値をオーバーライトする、
    ように構成された、
    請求項1に記載の磁気ディスク装置。
  3. 前記コントローラは、
    前記複数の第2セクタの全部に対するライトの際に、前記複数の第2セクタのそれぞれにデータ片と第2情報として前記パリティによる保護が有効であることを示す値とをライトし、前記複数の第2セクタにライトされる全部のデータ片に基づいてパリティを生成し、前記パリティと、前記第1情報として前記パリティによる保護が有効であることを示す値と、を前記第3セクタにライトし、
    前記複数の第2セクタの全部に対する前記ライトの後の前記複数の第2セクタのうちの一部である1以上の第4セクタに対するオーバーライトの際に、前記1以上の第4セクタのそれぞれにデータ片と前記第2情報として前記パリティによる保護が無効であることを示す値とをオーバーライトし、前記第1情報として前記パリティによる保護が無効であることを示す値を前記第3セクタにオーバーライトする、
    ように構成された、
    請求項1に記載の磁気ディスク装置。
  4. 前記コントローラは、
    前記複数の第1セクタに対するリードを実行し、
    前記複数の第2セクタからリードされた全部のデータ片と前記第3セクタからリードされた前記パリティと、を用いた誤り訂正を開始し、
    前記複数の第2セクタからリードされた全部の前記第2情報および前記第3セクタからリードされた前記第1情報が前記パリティによる保護が有効であることを示す場合、前記誤り訂正によって得られるデータ片を使用し、
    前記複数の第2セクタからリードされた前記第2情報および前記第3セクタからリードされた前記第1情報のうちの何れかが前記パリティによる保護が無効であることを示す場合、前記誤り訂正を中断するかまたは前記誤り訂正によって得られるデータ片を破棄する、
    ように構成された、
    請求項3に記載の磁気ディスク装置。
  5. 前記コントローラは、
    前記複数の第2セクタのうちの1以上の第2セクタである1以上の第5セクタに対するリードを行い、
    前記1以上の第5セクタに対するリードに失敗した場合、前記1以上の第5セクタに対するリードの再実行を含む前記複数の第1セクタに対するリードを実行し、
    再実行された前記1以上の第5セクタに対するリードに失敗した後、
    前記複数の第1セクタからリードされた全部の前記第2情報および前記第1情報が前記パリティによる保護が有効であることを示す場合、前記パリティを用いた誤り訂正を実行し、
    前記複数の第1セクタからリードされた全部の前記第2情報および前記第1情報のうちの何れかが前記パリティによる保護が無効であることを示す場合、前記パリティを用いた誤り訂正を実行しない、
    ように構成された、
    請求項3に記載の磁気ディスク装置。
  6. 複数の第1セクタを含むトラックを有し、前記複数の第1セクタは、それぞれはデータ片がライトされるように構成された複数の第2セクタと、パリティおよび前記複数の第2セクタのうちの前記パリティによる保護が有効な範囲を示す第1情報がライトされるように構成された第3セクタと、を含む、磁気ディスクと、
    磁気ヘッドと、
    前記磁気ヘッドを用いて前記磁気ディスクにアクセスするよう構成されたコントローラと、
    を備える磁気ディスク装置。
  7. 前記コントローラは、前記複数の第2セクタのうちの1以上の第2セクタである1以上の第4セクタに対するライトを行う際に、前記1以上の第4セクタにライトされる全部のデータ片に基づいてパリティを生成し、前記パリティと、前記第1情報として前記1以上の第4セクタを示す値と、を前記第3セクタにライトする、ように構成された、
    請求項6に記載の磁気ディスク装置。
  8. 前記コントローラは、
    前記複数の第2セクタのうちの1以上の第2セクタである1以上の第5セクタに対するリードを実行し、
    前記1以上の第5セクタに対するリードに失敗した後、前記複数の第1セクタに対するリードを実行し、前記複数の第2セクタからリードされた全部のデータ片と前記第3セクタからリードされた前記パリティと、を用いた第1の誤り訂正を開始し、
    前記第1情報が示す前記1以上の第4セクタは前記複数の第2セクタと一致する場合、前記第1の誤り訂正によって得られるデータ片を使用し、
    前記第1情報が示す前記1以上の第4セクタは前記複数の第2セクタと一致しない場合、前記第1の誤り訂正を中断するかまたは前記第1の誤り訂正によって得られるデータ片を破棄し、
    前記第1の誤り訂正を中断するかまたは前記第1の誤り訂正によって得られるデータ片を破棄した後、
    前記1以上の第5セクタが前記第1情報が示す前記1以上の第4セクタに含まれる場合、前記1以上の第4セクタおよび前記第3セクタに対するリードを実行し、前記1以上の第4セクタからリードされた全部のデータ片と前記第3セクタからリードされた前記パリティと、を用いた第2の誤り訂正を開始し、前記第2の誤り訂正によって得られるデータ片を使用する、
    ように構成された、
    請求項7に記載の磁気ディスク装置。
  9. 前記コントローラは、
    前記複数の第2セクタのうちの1以上の第2セクタである1以上の第5セクタに対するリードを実行し、
    前記1以上の第5セクタに対するリードに失敗した場合、前記1以上の第5セクタに対するリードを再実行し、前記1以上の第5セクタに対するリードの再実行の際に前記磁気ヘッドが前記第3セクタを通過するときに前記第1情報のリードを行い、
    再実行された前記1以上の第5セクタに対するリードに失敗した後、
    前記1以上の第5セクタが前記第1情報が示す前記1以上の第4セクタに含まれる場合、前記パリティを用いた誤り訂正を実行し、
    前記1以上の第5セクタが前記第1情報が示す前記1以上の第4セクタに含まれない場合、前記パリティを用いた前記誤り訂正を実行しない、
    ように構成された、
    請求項7に記載の磁気ディスク装置。
  10. 複数の第1セクタを含むトラックを有し、前記複数の第1セクタは、それぞれはデータ片がライトされるように構成された複数の第2セクタと、パリティがライトされるように構成された第3セクタと、を含む、磁気ディスクと、
    磁気ヘッドと、
    前記磁気ヘッドを用いて前記複数の第2セクタのうちの一部の1以上の第2セクタに対するライトに応じて前記第3セクタに対するライトを実行する、ように構成されたコントローラと、
    を備える磁気ディスク装置。
JP2022048989A 2022-03-24 2022-03-24 磁気ディスク装置 Pending JP2023142223A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022048989A JP2023142223A (ja) 2022-03-24 2022-03-24 磁気ディスク装置
CN202210663670.6A CN116844583A (zh) 2022-03-24 2022-06-10 磁盘装置
US17/943,015 US11984142B2 (en) 2022-03-24 2022-09-12 Magnetic disk apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022048989A JP2023142223A (ja) 2022-03-24 2022-03-24 磁気ディスク装置

Publications (1)

Publication Number Publication Date
JP2023142223A true JP2023142223A (ja) 2023-10-05

Family

ID=88096268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022048989A Pending JP2023142223A (ja) 2022-03-24 2022-03-24 磁気ディスク装置

Country Status (3)

Country Link
US (1) US11984142B2 (ja)
JP (1) JP2023142223A (ja)
CN (1) CN116844583A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077458A (ja) 2006-09-22 2008-04-03 Fujitsu Ltd 記憶データ処理装置、記憶装置、記憶データ処理プログラム
JP2010061756A (ja) 2008-09-05 2010-03-18 Toshiba Storage Device Corp 記憶データ処理装置、記憶装置、記憶データ処理プログラム及び方法
US8472295B1 (en) * 2012-10-05 2013-06-25 Lsi Corporation Selective error protection over multiple sectors
CN110413439B (zh) 2018-04-28 2023-10-20 伊姆西Ip控股有限责任公司 用于检测数据的不完整写入的方法、设备和计算机可读介质

Also Published As

Publication number Publication date
US11984142B2 (en) 2024-05-14
US20230306989A1 (en) 2023-09-28
CN116844583A (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
US10210900B2 (en) Rewriting of data stored in defective storage regions into other storage regions
US8612798B1 (en) Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails
US8756361B1 (en) Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US6687850B1 (en) Disk drive for storing sector-reconstruction sectors and for storing a sector-reconstruction status in sectors distributed around a disk
US10910013B1 (en) Magnetic disk device and write processing method
CN111696587B (zh) 磁盘装置以及写处理方法
US10438615B2 (en) Disk device, controller circuit, and control method
US12033662B2 (en) Magnetic disk device
US20080016429A1 (en) Data storage device and error correction method
US7607039B2 (en) Data storage device with re-allocation processing which determines an order in which re-allocation processing is executed for defective sectors
US11062733B2 (en) Disk drive with efficient handling of off-track events during sequential write
JP2020042888A (ja) 磁気ディスク装置および磁気ディスク装置の制御方法
US11817123B2 (en) Magnetic disk device and DOL setting method
JP2015049915A (ja) 情報記録装置およびデータ復旧方法
JP2023142223A (ja) 磁気ディスク装置
US20140281677A1 (en) Error correction method and device and information storing device
US10770111B1 (en) Disk drive with efficient handling of off-track events during sequential write
CN110880337B (zh) 磁盘装置及磁盘装置的数据读取方法
US10379972B1 (en) Minimizing reads for reallocated sectors
JP2023140542A (ja) 磁気ディスク装置および方法
US11532321B1 (en) Magnetic disk device and read/write processing method
JP2019040656A (ja) 磁気ディスク装置及びリード方法
US20220084554A1 (en) Magnetic disk device and error correction method
JP2018147537A (ja) 磁気ディスク装置及びライト方法
JP2024123857A (ja) 磁気ディスク装置