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

磁気ディスク装置 Download PDF

Info

Publication number
JP2024045862A
JP2024045862A JP2022150917A JP2022150917A JP2024045862A JP 2024045862 A JP2024045862 A JP 2024045862A JP 2022150917 A JP2022150917 A JP 2022150917A JP 2022150917 A JP2022150917 A JP 2022150917A JP 2024045862 A JP2024045862 A JP 2024045862A
Authority
JP
Japan
Prior art keywords
track
data
sector
attribute information
magnetic disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022150917A
Other languages
English (en)
Inventor
彰介 丸山
英夫 下川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
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 JP2022150917A priority Critical patent/JP2024045862A/ja
Priority to CN202310062335.5A priority patent/CN117746917A/zh
Priority to US18/115,396 priority patent/US11929094B1/en
Publication of JP2024045862A publication Critical patent/JP2024045862A/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/1879Direct read-after-write methods
    • 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
    • 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/1816Testing
    • 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/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful

Landscapes

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

Abstract

【課題】ライト性能が高い磁気ディスク装置を提供すること。【解決手段】トラックは複数の第1セクタと第2セクタとを備える。複数の第1セクタのうちの1つである第3セクタに対する第2データセグメントのライトがホストから要求された場合、コントローラは、ホストから第2データセグメントを取得してメモリに格納し、トラックから全ての第1データセグメントおよび全ての第1属性情報を含む第1データセットをリードしてメモリに格納する。コントローラは、第3セクタに対応する第2属性情報を取得し、第1データセットのうちの第3セクタからリードされた第1データセグメントおよび第1属性情報を第2データセグメントおよび第2属性情報でメモリにおいて更新する。コントローラは、更新後の第1データセットを第1トラックにライトしながら第2パリティを計算し、第2パリティを第2セクタにライトする。【選択図】図8

Description

本実施形態は、磁気ディスク装置に関する。
各トラックにライトされたデータをトラック単位で保護する機能を備えた磁気ディスク装置がある。磁気ディスク装置は、トラック毎に誤り訂正符号を生成し、この誤り訂正符号に基づき、トラック単位の保護を行う。
米国特許第9837115号明細書
一つの実施形態は、ライト性能が高い磁気ディスク装置を提供することを目的とする。
一つの実施形態によれば、磁気ディスク装置は、ホストに接続可能である。磁気ディスク装置は、磁気ディスクと、磁気ヘッドと、メモリと、コントローラと、を備える。磁気ディスクは、複数の第1セクタと、第2セクタと、を備える第1トラックが設けられている。磁気ヘッドは、磁気ディスクに対してデータをライトしたりデータをリードしたりする。コントローラは、複数の第1セクタのそれぞれに第1データセグメントが第1属性情報とともに格納され、第2セクタに第1パリティが格納されているときに、複数の第1セクタのうちの1つである第3セクタに対する第2データセグメントのライトがホストから要求された場合、次のように動作する。なお、第1属性情報は複数の第1セクタのうちのそれが格納される第1セクタに対応する属性情報である。コントローラは、ホストから第2データセグメントを取得してメモリに格納し、第1トラックから全ての第1データセグメントおよび全ての第1属性情報を含むデータセットである第1データセットをリードして第1データセットを前記メモリに格納する。コントローラは、第3セクタに対応する前記属性情報である第2属性情報を取得する。コントローラは、第1データセットのうちの第3データセグメントおよび第3属性情報を第2データセグメントおよび第2属性情報でメモリにおいて更新する。第3データセグメントおよび第3属性情報は第3セクタからリードされた第1データセグメントおよび第1属性情報である。コントローラは、更新後の第1データセットである第2データセットを第1トラックにライトしながら第2データセットに基づいて第2パリティを計算し、第2パリティを第2セクタにライトする。
図1は、実施形態の磁気ディスク装置の構成の一例を示す模式的な図である。 図2は、実施形態の磁気ディスクの構成の一例を示す図である。 図3は、実施形態の1つのトラックの構成の一例を示す模式的な図である。 図4は、実施形態のATI情報のデータ構造の一例を示す模式的な図である。 図5は、実施形態のセクタ属性情報の一例を示す模式的な図である。 図6は、実施形態のコントローラによる、ATIカウンタをインクリメントする動作の一例を示すフローチャートである。 図7は、実施形態のコントローラによる、リライト動作の対象のトラック50を検出する動作の一例を示すフローチャートである。 図8は、実施形態の磁気ディスク装置におけるライトの動作の一例を示すフローチャートである。 図9は、4Kネイティブに準拠した実施形態の磁気ディスク装置におけるS307およびS308の処理を説明するための図である。 図10は、図9の(A)に示した各データの構成の詳細例を説明するための図である。 図11は、変換後のライトデータの構成の詳細例を説明するための図である。 図12は、512バイトエミュレーションに準拠した実施形態の磁気ディスク装置における、S306の処理の時点でのRAM内のライトデータおよびトラックデータの構成の詳細例を説明するための図である。 図13は、512バイトエミュレーションに準拠した実施形態の磁気ディスク装置におけるS308の処理によって、変換後のライトデータを用いて更新されたセクタデータの構成の詳細例を説明するための図である。
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
図1は、実施形態の磁気ディスク装置1の構成の一例を示す模式的な図である。
磁気ディスク装置1は、ホスト2に接続される。磁気ディスク装置1は、ホスト2から、ライトコマンドやリードコマンドなどの、アクセスコマンドを受信することができる。
磁気ディスク装置1は、表面に磁性層が形成された磁気ディスク11を備える。磁気ディスク装置1は、アクセスコマンドに応じて磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする。
アクセスコマンドは、論理アドレスを含む。磁気ディスク装置1は、ホスト2に論理的なアドレス空間を提供する。論理アドレスは、当該アドレス空間における位置を示す。ホスト2は、論理アドレスを用いることによって、データをライトする位置またはデータのリードを行う位置を指定する。つまり、論理アドレスは、ホスト2から指定される位置情報である。なお、論理アドレスを、LBA(Logical Block Address)と表記する。
データのライトおよびリードは、磁気ヘッド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を備える。
磁気ディスク11は、同軸に取り付けられたスピンドルモータ12により、所定の回転速度で回転される。スピンドルモータ12は、モータドライバIC21により駆動される。
プロセッサ26はモータドライバIC21を介して、スピンドルモータ12の回転およびVCM16の回転を制御する。
磁気ヘッド22は、それに備わるライトコア22wおよびリードコア22rにより、磁気ディスク11に対して情報のライトおよびリードを行う。また、磁気ヘッド22は、アクチュエータアーム15の先端に取り付けられている。磁気ヘッド22は、VCM16により、磁気ディスク11の半径方向に移動される。なお、磁気ヘッド22に備わるライトコア22wおよびリードコア22rのいずれか一方、またはその両方は、それぞれ単一の磁気ヘッド22に対して複数設けられても良い。
磁気ディスク11の回転が停止しているときなどは、磁気ヘッド22は、ランプ13上に移動される。ランプ13は、磁気ヘッド22を、磁気ディスク11から離間した位置で保持するように構成されている。
ヘッドIC24は、リード動作時に、磁気ヘッド22が磁気ディスク11からリードした信号を増幅して出力し、RWC25に供給する。また、ヘッドIC24は、ライト動作時に、RWC25から供給されたライト対象のデータに対応した信号を増幅して、磁気ヘッド22に供給する。
HDC23は、I/F バスを介してホスト2との間で行われるデータの送受信の制御などを行う。
HDC23は、暗号化/復号モジュール29を備える。HDC23は、ホスト2から受信したデータに対し、暗号化/復号モジュール29によって、キーを用いた暗号化を行う。HDC23は、磁気ディスク11からリードしたデータに対し、暗号化/復号モジュール29によって、キーを用いた復号を行う。
暗号化/復号モジュール29は、暗号化/復号に用いられるキーを管理する。キーには世代情報が対応付けられている。キーは、ホスト2からのコマンドによって変更可能であり、変更される毎に世代情報が更新される。暗号化/復号モジュール29は、暗号化/復号に用いられるキーを、LBAと対応付けて管理する。つまり、磁気ディスク装置1は、論理アドレス空間における位置毎に異なるキーを使用することが可能に構成されている。なお、磁気ディスク装置1は、論理アドレス空間の全てにおいて1つのキーが共通に使用されるように構成されてもよい。
RAM27は、磁気ディスク11にライトされるデータや、磁気ディスク11からリードされたデータのバッファとして用いられる。
また、RAM27は、プロセッサ26によって動作用のメモリとして使用される。RAM27は、ファームウェアがロードされる領域、および各種の管理データが一時記憶される領域として使用される。
RAM27は、高速な動作が可能な揮発性メモリによって構成される。RAM27を構成するメモリの種類は、特定の種類に限定されない。RAM27は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成され得る。なお、RAM27は、任意の不揮発性メモリによって構成されてもよい。また、データのバッファとしてのメモリと、プロセッサ26によって使用される動作用のメモリと、はそれぞれ異なるRAMによって構成されてもよい。
なお、RAM27は、実施形態のメモリの一例である。
RWC25は、HDC23から供給されるライト対象のデータに対して、セクタ単位で誤り訂正符号化などの変調を行い、変調後のデータをヘッドIC24に供給する。また、RWC25は、磁気ディスク11からリードされヘッドIC24から供給された信号に対してセクタ単位の誤り訂正を含む復調を行い、復調後の信号をデジタルデータとしてHDC23へ出力する。
プロセッサ26は、例えばCPU(Central Processing Unit)である。プロセッサ26には、RAM27およびFROM(Flash Read Only Memory)28が接続されている。
FROM28は、不揮発性メモリである。FROM28には、ファームウェア(プログラムデータ)および各種の動作パラメータなどが格納される。
プロセッサ26は、FROM28に格納されているファームウェアに従って、この磁気ディスク装置1の全体的な制御を行う。例えば、プロセッサ26は、ファームウェアをFROM28または磁気ディスク11からRAM27にロードし、ロードされたファームウェアに従って、モータドライバIC21、ヘッドIC24、RWC25、HDC23などの制御を実行する。
HDC23、RWC25、およびプロセッサ26を含む構成は、磁気ディスク装置1の動作を制御するコントローラ30と見なすこともできる。コントローラ30は、これらのほかに、他の要素(例えばRAM27、またはFROM28など)を含んでいてもよい。
また、暗号化/復号モジュール29は、必ずしもHDC23内に設けられていなくてもよい。暗号化/復号モジュール29は、HDC23の外、またはコントローラ30の外に設けられていてもよい。
また、ファームウェアプログラムは磁気ディスク11に格納されていてもよい。また、プロセッサ26の機能の一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。
なお、磁気ディスク装置1に具備される磁気ディスク11の数は1つに限定されない。また、磁気ディスク装置1は、磁気ディスク11の数に応じた数のアクチュエータアーム15および磁気ヘッド22を有し得る。また、磁気ディスク装置1が複数の磁気ヘッド22を有する場合、当該複数の磁気ヘッド22は一体的に移動せしめられてもよいし、当該複数の磁気ヘッド22はそれぞれ独立に移動可能な複数のグループを構成していてもよい。
図2は、実施形態の磁気ディスク11の構成の一例を示す図である。磁気ディスク11の表面に形成された磁性層には、例えばサーボライタによって、またはセルフサーボライト(SSW)によって、磁気ヘッド22の位置決めに使用されるサーボデータがライトされる。
図2には、サーボデータがライトされたサーボ領域の配置の一例として放射状に配置されたサーボ領域41が示されている。円周方向において、2つのサーボ領域41の間は、データのライトが可能なデータ領域42とされる。磁気ディスク11の半径方向には同心円の複数のトラック50が設けられる。トラック50上においてデータ領域42にはそれぞれは所定サイズのデータがライトされる複数のセクタが設けられる。所定サイズは、セクタサイズである。
サーボデータは、サーボマーク、グレイコード、バーストパターン、およびポストコードを含む。サーボマークは、サーボデータの開始を示す。グレイコードは、磁気ディスク11に設けられた各トラック50を識別するためのID、即ちトラック番号と、トラック50上の各サーボセクタ(即ちサーボ領域41)を識別するためのID、即ちサーボセクタ番号と、を含む。バーストパターンは、グレイコードに含まれるトラック番号が示すトラックのセンターからの位置ずれ量を検出するために使用されるデータである。グレイコードに含まれるトラック番号は例えば整数値として与えられており、バーストパターンを復調することによってトラック番号が示す位置を基準とした小数点以下のオフセット量を得ることが可能である。つまり、バーストパターンを復調することによって、半径方向における磁気ヘッド22の現在位置が得られる。ポストコードは、グレイコード、バーストパターンによって規定されるトラック50の形状の、理想的なトラック50の形状からの位置ずれを補正するためのデータである。
コントローラ30は、磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする際には、磁気ヘッド22がサーボ領域41からリードしたサーボデータに基づいて磁気ヘッド22の位置決め、つまりシーク制御およびトラッキング制御、を実行する。
図3は、実施形態の1つのトラック50の構成の一例を示す模式的な図である。本図では、サーボ領域41の図示が省略されている。また、本図には、ライト/リード方向が図示されている。ライト/リード方向は、磁気ディスク11の回転によって磁気ヘッド22がトラック50に対して相対移動する方向である。磁気ヘッド22は、各トラック50に対し、ライト/リード方向にデータのライトまたはデータのリードを行う。
トラック50に設けられた各セクタは、セクタ番号によって識別される。セクタ番号がxであるセクタを、セクタ#xと表記する。図3に示される例では、トラック50は、セクタ#0からセクタ#10までの11個のセクタを有する。
各セクタにライトされるデータは、誤り訂正符号を含んでいる。RWC25は、1つのセクタからリードされたデータに対し、誤り訂正符号を用いたセクタ単位の誤り訂正が可能である。
セクタ単位の誤り訂正のための誤り訂正符号化の方式は、特定の方式に限定されない。一例では、セクタ単位の誤り訂正のための誤り訂正符号化の方式として、低密度パリティ検査符号(Low-Density Parity-Check Code)が適用される。
11個のセクタは、円周方向における基準位置からライト/リード方向にセクタ番号順に配列されている。本明細書では、基準位置とライト/リード方向とに基づき、先頭と末尾とが定義される。
例えば、磁気ヘッド22が基準位置を通過してから次に基準位置を通過するまでの区間、即ちセクタ#0~セクタ#10に関して、磁気ヘッド22が一番最初に通過するセクタ、即ちセクタ#0は、先頭のセクタと表記される。セクタ#0~セクタ#10に関して、磁気ヘッド22が一番最後に通過するセクタ、即ちセクタ#10は、末尾のセクタと表記される。
また、セクタ上の磁気ヘッド22が通過を開始する位置は、セクタの先頭と表記される。セクタ上の磁気ヘッド22が通過し終わる位置は、セクタの末尾と表記される。
末尾のセクタ#10は、誤り訂正符号であるパリティが格納されるためのセクタとされている。即ち、トラック50の単位のライトは、例えば次のようにして実行される。まず、セクタ#0~セクタ#9に、セクタ番号の順番にデータがライトされる。トラック50の末尾のセクタ#10には、セクタ#0~セクタ#9にライトされたデータの群に基づいて計算されたパリティがライトされる。
セクタ#10にライトされるパリティは、セクタ#0~セクタ#9にライトされたデータの群を誤りの発生から保護するものである。つまり、セクタ#10にライトされるパリティは、トラック単位でデータを保護する。
パリティを計算する方法は、特定の方法に限定されない。一例では、パリティは、ビット位置毎のXORをデータ#0~データ#9に対して実行することにより生成される。
以降では、末尾のセクタ(図3の例ではセクタ#10)にライトされるパリティを用いた誤り訂正を、トラック単位の誤り訂正と表記する。また、末尾のセクタにライトされるパリティを、トラックパリティと表記する。また、トラック50にライトされたデータがトラックパリティによって保護されている状態のことを、トラック保護機能が有効である、と表記する。また、トラック50にライトされたデータがトラックパリティによって保護されていない状態のことを、トラック保護機能が無効である、と表記する。
また、セクタ#0~セクタ#9のように、データが格納されるセクタは、データセクタと表記される。データセクタ#xにライトされるデータは、データ#xと表記される場合がある。データ#xは、データセグメントとも称され得る。セクタ#10のようにパリティが格納されるセクタは、パリティセクタと表記される。
例えば、或るトラック50の全てのデータセクタにデータがライトされ、全てのデータセクタにライトされたデータの群に基づいて計算されたトラックパリティがそのトラック50のパリティセクタにライトされた場合、そのトラック50にライトされたデータの群はトラックパリティと対応する。よって、そのトラック50にライトされたデータの群はトラックパリティによって保護された状態になっている。つまり、そのトラック50では、トラック保護機能が有効である。
トラック保護機能が有効なトラック50に対してランダムライト、つまり一部のセクタに対するデータのオーバーライト、が実行されると、そのトラック50内のデータの群は、既にライトされたトラックパリティと対応しなくなり、トラックパリティによって保護されない状態となる。つまり、そのトラック50では、トラック保護機能が無効である。
トラック保護機能が無効なトラック50において、新しいトラックパリティが再計算されて、当該新しいトラックパリティがパリティセクタにオーバーライトされると、そのトラック50内のデータの群は、当該新しいトラックパリティによって保護された状態となる。つまり、そのトラック50は、トラック保護機能が有効になる。
なお、トラック保護機能が有効な状態は、第1の状態の一例である。トラック保護機能が無効な状態は、第2の状態の一例である。
磁気ディスクへのライトの際に隣接トラックに与える影響のひとつとして、隣接トラック干渉(Adjacent Track Interference:ATI)が知られている。例えば、1つのトラック50(第1トラック50と表記する)に対してデータがライトされると、第1トラック50に隣接するトラック50(第2トラック50)はATIの影響を受ける。第2トラック50が受けるATIの影響は、第1トラック50に対するライトの回数に応じて蓄積される。第2トラック50が受けたATIの影響が大きくなりすぎると、第2トラック50に格納されているデータをリードすることが困難になる。
コントローラ30は、各トラック50がATIの影響によってデータのリードが困難になる前に、データのリライトを実行する。
コントローラ30は、各トラック50が受けたATIの影響の度合いを例えばATI情報271を用いて推定する。
図4は、実施形態のATI情報271のデータ構造の一例を示す模式的な図である。
ATI情報271は、トラック50毎にATIカウンタが記録されたテーブルのデータ構成を有する。コントローラ30は、トラック50に対してデータのライトを行うと、ライト先のトラック50の近傍のトラック50にかかるATIカウンタをインクリメントする。1回のインクリメントで加算される値は設計者によって任意の方法で決定される。一例では、ライト先のトラック50に近いほど大きな値がインクリメントされる。つまり、ATIカウンタは、対応するトラック50が受けたATIの影響の度合いの推定値を示す。
コントローラ30は、各トラック50のATIカウンタとしきい値とを比較する。そして、しきい値を超えたATIカウンタが見つかった場合、コントローラ30は、当該ATIカウンタに対応するトラック50に対し、リライトを実行する。リライト後、コントローラ30は、リライトされたトラック50のATIカウンタをリセットする。
以降、ATIカウンタがしきい値を超えたトラック50に対して実行されるトラック単位のリライトを、リライト動作と表記する。
実施形態では、コントローラ30は、トラック保護機能が有効である場合とトラック保護機能が無効である場合とで異なる値が、ATIカウンタと比較されるしきい値として用いられる。
トラック保護機能が無効なトラック50は、トラック保護機能が有効なトラック50に比べ、ATIの影響に対して脆弱である。よって、コントローラ30は、トラック保護機能が無効である場合、トラック保護機能が有効である場合に比べて小さい値をしきい値として用いる。
例えば、コントローラ30は、或るトラック50(第3トラック50と表記する)に対してトラック単位のライトを行った後、第1しきい値を第3トラック50に対応するATIカウンタとの比較に用いる。そして、第3トラック50の一部のデータセクタに対してオーバーライトを行うと、第3トラック50におけるトラック保護機能が無効になる。すると、コントローラ30は、第1しきい値よりも小さい第2しきい値を第3トラック50に対応するATIカウンタとの比較に用いる。これによって、パリティによる保護が無効になっても、第3トラック50に格納されているデータのリードがATIの影響によってリードが困難になることを防止する。
つまり、トラック保護機能が有効なトラック50に対しては、コントローラ30は、ATIカウンタが第2しきい値を超えてもリライト動作を実行しない。トラック保護機能が有効なトラック50のATIカウンタが第1しきい値を超えると、コントローラ30は、リライト動作を実行する。
ここで、実施形態と比較される技術について説明する。実施形態と比較される技術を比較例と表記する。
ATIカウンタが第2しきい値を超えた、トラック保護機能が有効なトラックに対し、ホストからのライトコマンドに応じてランダムライトを行う必要が生じる場合がある。比較例および比較例に対する実施形態の説明において、そのようなトラックを、対象トラックと表記する。比較例では、対象トラックにおいてトラック保護機能が無効になると同時にATIカウンタが第2しきい値を超えることを防止するために、コントローラは、次のように動作する。即ち、コントローラは、ライトコマンドに応じたランダムライトを実行する前に、対象トラックに対してリライト動作を行い、対象トラックのATIカウンタをリセットする。その後、コントローラは、対象トラックに対し、ライトコマンドに応じたランダムライトを実行する。
しかしながら、上記した比較例によれば、リライト動作が実行されたうえでランダムライトが実行されるので、必要なライトの回数が多く、ライトコマンドの処理に要する時間が長くなる。
さらに、比較例によれば、ライトコマンドの処理が完了すると、対象トラックのトラック保護機能が無効になる。よって、対象トラックのトラック保護機能を有効にするためには、コントローラは、ライトコマンドの処理の後に、トラックパリティの再計算およびオーバーライトを行う必要がある。
実施形態では、コントローラ30は、対象トラックに対してランダムライトを行う場合、リライト動作の一環として対象トラックから1トラック分のデータのセットをリードしてRAM27に格納する。1トラック分のデータのセットを、トラックデータと表記する。コントローラ30は、ホスト2からライトコマンドによってライトが要求されたデータ(以降、ライトデータと表記する)で、RAM27上のトラックデータを更新する。換言すると、RAM27において、ライトデータをトラックデータにマージする。コントローラ30は、リライト動作の一環として、更新後のトラックデータを対象トラックにライトする。更新後のトラックデータのライトの際、コントローラ30は、トラックパリティの再計算とオーバーライトとを実行する。
つまり、コントローラ30は、対象トラックに対してランダムライトを行う場合、リライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトデータを同時にライトする。よって、実施形態によれば、比較例に比べ、対象トラックに対するライトの回数が抑制されるので、ライトコマンドの処理に要する時間が抑制される。つまり、ライト性能が向上する。
また、実施形態によれば、ライトコマンドの処理が完了したとき、対象トラックはトラック保護機能が有効な状態になっている。よって、比較例と異なり、ライトコマンドの処理の後のトラックパリティの再計算およびオーバーライトの処理を省略することが可能になる。
なお、磁気ディスク11上のトラックデータは、セクタ毎に属性情報を含んでいる。この属性情報は、ホスト2から受信するライトデータには含まれない。このような、磁気ディスク11上のトラックデータには含まれ、ライトデータには含まれない属性情報を、セクタ属性情報と表記する。各データセクタにセクタ属性情報300がライトされる。セクタ属性情報300は、それが格納されたデータセクタにかかる属性を表す。
図5は、実施形態のセクタ属性情報の一例を示す模式的な図である。
セクタ属性情報300は、世代情報および多目的制御情報を含む。
世代情報は、セクタにライトされているデータに対してライト前の暗号化の際に暗号化/復号モジュール29によって使用されたキーの世代情報である。
実施形態では、リードコマンドに応じたデータのリードの際に、復号に使用されるキーの世代情報がライト前の暗号化の際に使用されたキーの世代情報と相違する場合、そのデータは消去されたものと見なされる。つまり、コントローラ30は、そのデータをホスト2に応答しない。世代情報の比較を可能とするために、コントローラ30は、磁気ディスク11にデータをライトする際に、データとともに世代情報をライトする。
多目的制御情報は、種々の制御に使用される属性情報である。多目的制御情報は、例えば、第1アンコレクタブル情報、第2アンコレクタブル情報、および世代不一致情報を含む。
第1アンコレクタブル情報および第2アンコレクタブル情報は、誤りに関連する情報であり、具体的にはデータがアンコレクタブルであることが記録される情報である。アンコレクタブルとは、データに含まれる誤りが誤り訂正によって訂正できないことを意味する。
コントローラ30は、セクタ単位の誤り訂正およびトラック単位の誤り訂正を含む種々の誤り訂正を実行することができる。コントローラ30は、何れの誤り訂正によっても誤りの訂正が出来なかった場合、第1アンコレクタブル情報に「アンコレクタブル」を意味する値を記録する。
第2アンコレクタブル情報は、ホスト2からの要求に応じて「アンコレクタブル」を意味する値が記録される情報である。例えば、ライトコマンドは、アンコレクタブルライトと称されるフラグ情報を含む。コントローラ30は、アンコレクタブルライトのフラグ情報がオンされたライトコマンドを受信した場合、ライトコマンドに応じてデータのライトを行うとともに、第2アンコレクタブル情報に「アンコレクタブル」を意味する値を記録する。
世代不一致情報は、復号に使用されるキーの世代情報がライト前の暗号化の際に使用されたキーの世代情報と相違することが記録される情報である。コントローラ30は、リードコマンドに応じたデータのリードの際に、復号に使用されるキーの世代情報がライト前の暗号化の際に使用されたキーの世代情報と相違する場合、世代不一致情報に「世代不一致」を示す値を記録する。
コントローラ30は、上記した多目的制御情報を、種々の制御の用いることができる。一例では、コントローラ30は、ホスト2からのリードコマンドに応じたデータのリードの際第1アンコレクタブル情報または第2アンコレクタブル情報に「アンコレクタブル」を意味する値が記録された多目的制御情報がリードされた場合、ホスト2にデータの応答を行わない。また、コントローラ30は、「世代不一致」を示す値が記録された世代不一致情報がリードされた場合、ホスト2にデータの応答を行わない。
コントローラ30は、ライトデータでトラックデータを更新する際には、ライトデータの形式をセクタ属性情報300を含む形式に変換したうえで、変換後のライトデータでトラックデータを更新する。
なお、ライトデータの変換の方法を含めた更新の方法の具体的な例については後述する。
続いて、実施形態の磁気ディスク装置1の動作について説明する。
図6は、実施形態のコントローラ30による、ATIカウンタをインクリメントする動作の一例を示すフローチャートである。
コントローラ30は、或るトラック50に対してデータのライトを行うと(S101)、ライト先のトラック50の近傍のトラック50のATIカウンタのインクリメントを行う(S102)。コントローラ30は、S102では、ライト先のトラック50の半径方向両側に隣接するトラック50のATIカウンタのインクリメントを行ってもよいし、ライト先のトラック50を中心とした半径方向の所定範囲内のすべてのトラック50のATIカウンタのインクリメントを行ってもよい。1回のインクリメントで加算される量は、固定されていてもよいし、ライト先のトラック50からの距離に応じて異なっていてもよい。
S102によって、ATIカウンタをインクリメントする動作が終了する。なお、コントローラ30は、磁気ディスク11に対してデータがライトされる毎に図6に示された一連の動作を実行する。
図7は、実施形態のコントローラ30による、リライト動作の対象のトラック50を検出する動作の一例を示すフローチャートである。
コントローラ30は、ATI情報271を参照し、トラック保護機能が有効なトラック50のうちに、ATIカウンタが第1しきい値を超えたトラック50があるか否かを判定する(S201)。
S201の判定処理においてNoと判定した場合、コントローラ30は、トラック保護機能が無効なトラック50のうちに、ATIカウンタが第2しきい値を超えたトラック50があるか否かを判定する(S202)。ただし、前述したように、第2しきい値は第1しきい値よりも小さい。
S201またはS202の判定処理においてYesと判定した場合、コントローラ30は、ATIカウンタがしきい値を超えたトラック50、つまりトラック保護機能が有効なトラック50のうちのATIカウンタが第1しきい値を超えたトラック50またはトラック保護機能が無効なトラック50のうちのATIカウンタが第2しきい値を超えたトラック50をリライト動作の対象のトラック50として決定して、当該トラック50に対するリライト動作を実行する。なお、図7の説明において、リライト動作の対象として決定されたトラック50を、対象トラックと表記する。また、ここでは、1つのトラック50がリライト動作の対象として決定された場合について説明する。2つ以上のトラック50がリライト動作の対象として決定された場合、S203以降の処理は、リライト動作の対象として決定されたそれぞれのトラック50に対して実行される。
コントローラ30は、対象トラックからRAM27にトラックデータをセクタ属性情報300ごと転送する(S203)。このとき、コントローラ30は、必要に応じてトラック単位の誤り訂正を含む種々の誤り訂正を実行してもよい。
S203の処理の後、コントローラ30は、RAM27内のトラックデータを対象トラックにライトする(S204)。S204では、コントローラ30は、トラックパリティを計算し、トラックデータを、セクタ属性情報300およびトラックパリティとともに対象トラック50にライトする。
S204の処理の後、コントローラ30は、対象トラックのAITカウンタを“0”にリセットする(S205)。
S201およびS202の判定処理においてNoと判定した場合、またはS205の処理の後、コントローラ30は、リライト動作の対象のトラック50を検出する動作を終了する。
なお、S201では、ATIカウンタが第1しきい値を超えたトラック50があるか否かが判定された。ATIカウンタが第1しきい値以上のトラック50があるか否かが判定されてもよい。
また、S202では、ATIカウンタが第2しきい値を超えたトラック50があるか否かが判定された。ATIカウンタが第2しきい値以上のトラック50があるか否かが判定されてもよい。
図7に示した一連の動作は、任意のタイミングで実行され得る。例えば、コントローラ30は、所定の周期で上記の一例の動作を繰り返してもよい。または、コントローラ30は、図6に示した動作によってATIカウンタのインクリメントを行った場合、ATIカウンタのインクリメントを行った1以上のトラックを検出対象として図7に示した動作を実行してもよい。
図8は、実施形態の磁気ディスク装置1におけるライトの動作の一例を示すフローチャートである。
コントローラ30は、ホスト2からライトデータを受信すると(S301)、暗号化/復号モジュール29によってライトデータを暗号化する(S302)。暗号化/復号モジュール29は、ライトデータのLBAに応じたキーを用いて暗号化を実行する。
コントローラ30は、暗号化されたライトデータをRAM27に格納する(S303)。
コントローラ30は、暗号化/復号モジュール29から、現在の世代情報、つまりS302の処理によって使用されたキーの世代情報、を取得する(S304)。
続いて、コントローラ30は、ライト先のトラック50のトラック保護機能が有効であり、かつライト先のトラック50のATIカウンタは第2しきい値を超えたか否かを判定する(S305)。図8の説明においては、ライト先のトラック50を、対象トラックと表記する。
なお、S305では、コントローラ30は、ライト先のトラック50のトラック保護機能が有効であり、かつライト先のトラック50のATIカウンタは第2しきい値以上であるか否かを判定してもよい。
S305の判定処理においてYesと判定した場合、コントローラ30は、対象トラックからRAM27にトラックデータをセクタ属性情報300ごと転送する(S306)。コントローラ30は、対象トラックからトラックデータをセクタ属性情報300ごとリードし、リードしたトラックデータをRAM27に格納する。このとき、コントローラ30は、必要に応じてトラック単位の誤り訂正を含む種々の誤り訂正を実行してもよい。
S306の処理の後、コントローラ30は、RAM27内のライトデータを、トラックデータと同じ形式のデータであって、S304の処理によって取得した世代情報を含むセクタ属性情報300を含むデータに変換する(S307)。そして、コントローラ30は、RAM27において、変換後のデータでトラックデータを更新する(S308)。
コントローラ30は、更新後のトラックデータを対象トラックにライトする(S309)。S309の処理では、コントローラ30は、トラックパリティを計算し、トラックデータを、セクタ属性情報およびトラックパリティとともに対象トラック50にライトする。
S309の処理の後、コントローラ30は、対象トラックのAITカウンタを“0”にリセットする(S310)。
S305の判定処理においてNoと判定した場合、コントローラ30は、RAM27のライトデータを、S304の処理によって取得した世代情報を含むセクタ属性情報300を含むデータを付加して対象トラックにライトする(S311)。
S301またはS311の処理の後、ライトの動作が終了する。
図9は、図8に示したS307およびS308の処理を説明するための図である。ここでは、磁気ディスク装置1は4Kネイティブと称される方式に準拠するケースについて説明する。4Kネイティブとは、ホストおよび磁気ディスク装置は、ともに、4Kバイトのデータセグメントをセクタサイズとしてデータを扱う方式である。つまり、ホスト2は、4Kバイト単位でデータのライトを指示することができ、コントローラ30は、ひとつのデータセクタあたりに4Kバイトのデータセグメントをライトすることができる。
図9の(A)は、S306の処理の時点でのRAM27内のライトデータおよびトラックデータの構成の一例を示す。本図の例では、1セクタ分のライトデータ(ここではライトデータWDと表記する)と、対象トラックの全てのデータセクタからリードされたデータセグメント(ここではセクタデータSDと表記する)のセット(ここではトラックデータTDと表記する)がRAM27に格納されている。ライトデータWDは、セクタ属性情報300を含まない。
図9の(B)は、S307の処理の直後の時点でのRAM27内のライトデータおよびトラックデータの構成の一例を示す。本図に示すように、ライトデータWDはS307の処理によって、セクタ属性情報300を含む形式のライトデータWD’に変換される。
図9の(C)は、S308の処理の直後の時点でのRAM27内のトラックデータの構成の一例を示す。更新の処理では、トラックデータTDのうちのライトデータWDのライト先のセクタからリードされたセクタデータSDが、変換後のライトデータWD’によって置換される。ここでは一例として、トラックデータTDの先頭から2番目のセクタデータSDがライトデータWDのライト先のセクタからリードされたセクタデータSDに該当し、このセクタデータSDが変換後のライトデータWD’によって置換されている。更新後のトラックデータTD’は、S309の処理によって対象トラックにライトされる。
図10は、図9の(A)に示した各データの構成の詳細例を説明するための図である。
コントローラ30は、データをRAM27に格納する際には、データをサブセクタサイズに区切り、サブセクタサイズのデータ毎にRAM27格納用の誤り訂正符号を付す。サブセクタサイズは、例えば512バイトである。
図10に示す例では、RAM27内のライトデータWDは、8個の512バイトのサブセクタデータSDsを含み、サブセクタデータSDsの末尾にRAM格納用の誤り訂正符号ECCbが付された構成を有する。
磁気ディスク11において、各データセクタには、多目的制御情報MIと、8個の512バイトのサブセクタデータSDsと、それぞれのサブセクタデータSDsの世代情報と、が格納されている。コントローラ30は、各データセクタからリードされたデータに対し、サブセクタデータSDs毎に世代情報を含んだ誤り訂正符号ECCbを付してRAM27に格納する。よって、図10に示されるように、トラックデータTDを構成する各セクタデータSDは、セクタ属性情報300のうちの多目的制御情報MIと、8個の512バイトのサブセクタデータSDsと、を含み、各サブセクタデータSDsの末尾には、セクタ属性情報300のうちの世代情報を含むRAM27格納用の誤り訂正符号ECCbが付された構成を有する。
図11は、変換後のライトデータWD’の構成の詳細例を説明するための図である。
コントローラ30は、S307の処理では、トラックデータTDに含まれるセクタデータSDのうちのライトデータのライト先のセクタからリードされたセクタデータSDから多目的制御情報MIを取得して、取得した多目的制御情報MIをライトデータWDの先頭に付す。また、コントローラ30は、ライトデータWDを構成する各サブセクタデータSDsの誤り訂正符号ECCbを、S304の処理によって取得した世代情報を含む誤り訂正符号ECCbに変換する。その結果、図11に示すように、トラックデータTDを構成するセクタデータSDと同様の、多目的制御情報MIと世代情報とを含む形式を有する、変換後のライトデータWD’が得られる。
なお、更新後のトラックデータTD’がRAM27からリードされる際には、各サブセクタデータSDsに付された誤り訂正符号ECCbは削除されて各サブセクタデータSDsには世代情報が付される。そして、更新後のトラックデータTD’は、多目的制御情報MIと、それぞれに世代情報が付された8個の512バイトのサブセクタデータSDsと、からなるセクタデータSDの群として対象トラックにライトされる。
このように、実施形態によれば、或るトラック50(対象トラックと表記する)のデータセクタにデータがセクタ属性情報300とともに格納され、パリティセクタにパリティが格納されているときに、対象トラックに対するランダムライト、つまり対象トラックのデータセクタに対するライトがホスト2から要求された場合、コントローラ30は、次のように動作する。即ち、コントローラ30は、ホスト2からライトデータを取得してRAM27に格納する(例えば図8のS301~S303参照)。コントローラ30は、対象トラックからトラックデータ、つまり全てのデータセクタに格納されているデータおよび属性情報を含むデータセット、をリードして、トラックデータをRAM27に格納する(例えば図8のS306参照)。そして、コントローラ30は、ライトデータのライト先のセクタに対応するセクタ属性情報300を取得し、取得したセクタ属性情報300およびライトデータでトラックデータをRAM27において更新する(例えば図8のS304、S307、S308、および図9~図11参照)。そして、コントローラ30は、更新後のトラックデータを対象トラックにライトしながらトラックパリティを計算し、トラックパリティを対象トラックのパリティセクタにライトする(S309)。
つまり、コントローラ30は、リライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトが要求されたデータを同時にライトする。よって、対象トラックに対するライトの回数が抑制されるので、ライトコマンドの処理に要する時間が抑制される。つまり、ライト性能が向上する。
また、ライトコマンドの処理が完了したとき、対象トラックはトラック保護機能が有効な状態になっている。よって、比較例と異なり、ライトコマンドの処理の後のトラックパリティの再計算およびオーバーライトの処理を省略することが可能になる。
また、実施形態によれば、セクタ属性情報300は、一例では、ホスト2からのデータの取得の際に暗号化/復号モジュール29によって暗号化された際に使用されたキーの世代情報である。
また、実施形態によれば、セクタ属性情報300は、他の一例では、それが格納されるセクタにかかる誤りに関連する情報(具体的には第1アンコレクタブル情報および第2アンコレクタブル情報)である。
セクタ属性情報300の構成は、これら述べた例に限定されない。セクタ属性情報300は、世代情報および誤りに関連する情報に替えて、または加えて、他の情報を含み得る。
また、実施形態によれば、トラック保護機能が有効な状態でかつATIカウンタが第2しきい値を超えたトラック50に対してライトが要求された場合、コントローラ30は、リライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトが要求されたデータを同時にライトする(例えば図8のS306~S310参照)。上記以外の場合、つまり例えば、トラック保護機能が有効な状態でかつATIカウンタが第2しきい値に満たないトラック50に対してライトが要求された場合か、またはトラック保護機能が無効な状態のトラック50に対してライトが要求された場合、コントローラ30は、リライト動作の起動を行わず、ライトデータをセクタ属性情報300を付加してトラック50へのライトを行う。
よって、トラック保護機能が有効な状態でかつATIカウンタが第2しきい値を超えたトラック50へのライトデータのライトによってATIカウンタが第2しきい値を超えた状態でトラック保護機能が無効になることを防止することが可能である。
なお、以上述べた説明によれば、コントローラ30は、トラック保護機能が有効な状態でかつATIカウンタが第2しきい値を超えたトラック50に対してライトが要求された場合、コントローラ30は、リライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトが要求されたデータを同時にライトする。コントローラ30は、ライト先のトラック50のトラック保護機能が有効であるか否かに関係なく、リライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトが要求されたデータを同時にライトしてもよい。また、コントローラ30は、ライト先のトラック50のATIに関係なく、リライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトが要求されたデータを同時にライトしてもよい。コントローラ30は、任意の条件が成立したときに、ライト動作を起動して、リライト動作においてトラックデータを磁気ディスク11にライトする際に、ライトが要求されたデータを同時にライトしてもよい。
以上では、磁気ディスク装置1が4Kネイティブに準拠するケースを挙げて、図8に示したS307およびS308の処理の詳細を説明した。実施形態が適用可能な磁気ディスク装置は、4Kネイティブに準拠した磁気ディスク装置に限定されない。例えば、実施形態は、512バイトエミュレーションと称される方式に準拠する磁気ディスク装置にも適用可能である。
512バイトエミュレーションによれば、ホストは磁気ディスク装置に対し512バイト単位でデータを転送する。磁気ディスク装置では、コントローラは、512バイト単位でホストとの間で転送されるデータを集めて合計4Kバイトのデータを生成して、4Kバイト単位で磁気ディスクとの間のデータ転送を行う。つまり、ホストは、512バイトをセクタサイズとして磁気ディスク装置に対するアクセスを行い、コントローラは、4Kバイトをセクタサイズとしてデータの処理を行う。
図12は、512バイトエミュレーションに準拠した実施形態の磁気ディスク装置1における、S306の処理の時点でのRAM27内のライトデータおよびトラックデータの構成の詳細例を説明するための図である。ここでは、便宜的に、ホスト2が転送する512バイト単位のデータをサブセクタデータSDsと表記する。
図12に示す例では、コントローラ30は、ホスト2から2つのサブセクタデータSDsを受信している。コントローラ30は、ホスト2から受信した2つのサブセクタデータSDsをRAM27に格納する際には、各サブセクタデータSDsにRAM格納用の誤り訂正符号ECCbを付す。よって、RAM27内のライトデータWDは、それぞれに誤り訂正符号ECCbが付された2つのサブセクタデータSDsからなる構成を有する。
RAM27内のトラックデータTDは、図10に示した4Kネイティブの方式に準拠したトラックデータTDと同様の構成を有する。
図13は、512バイトエミュレーションに準拠した実施形態の磁気ディスク装置1におけるS308の処理によって、変換後のライトデータWD’を用いて更新されたセクタデータSD’の構成の詳細例を説明するための図である。
コントローラ30は、S307の処理では、ライトデータWDを構成する各サブセクタデータSDsの誤り訂正符号ECCbを、S304の処理によって取得した世代情報を含む誤り訂正符号ECCbに変換する。これによって、変換後のライトデータWD’が生成される。
コントローラ30は、S308の処理では、トラックデータTDに含まれるライト先のセクタからリードされたセクタデータSDのうちの、ライト先として指定された一部を、変換後のライトデータWD’で置換する。図13に示す例では、セクタデータSDのうちの先頭から5番目および6番目の位置のサブセクタのデータが変換後のライトデータWD’で置換されている。コントローラ30は、さらに、セクタデータSDのうちの置換されていない残りのサブセクタデータSDsに付加された世代情報を含む誤り訂正符号ECCbを、S304の処理によって取得した世代情報を含む誤り訂正符号ECCbに変換する。これによって、更新後のセクタデータSD’が完成する。
このように、512バイトエミュレーションに準拠した磁気ディスク装置1においては、コントローラ30は、トラックデータTDに含まれるライト先のセクタからリードされたセクタデータSDのうちの一部をライトデータで置換するとともに、セクタデータSDの世代情報を、S304の処理によって取得した世代情報で置換する。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 磁気ディスク装置、2 ホスト、11 磁気ディスク、12 スピンドルモータ、13 ランプ、15 アクチュエータアーム、16 VCM、21 モータドライバIC、22 磁気ヘッド、22r リードコア、22w ライトコア、23 HDC、24 ヘッドIC、25 RWC、26 プロセッサ、27 RAM、28 FROM、29 暗号化/復号モジュール、30 コントローラ、41 サーボ領域、42 データ領域、50 トラック、271 ATI情報、300 セクタ属性情報、ECCb,ECCb 誤り訂正符号、MI 多目的制御情報。

Claims (5)

  1. ホストに接続可能な磁気ディスク装置であって、
    複数の第1セクタ(#1-9)と、第2セクタ(#10)と、を備える第1トラックが設けられた磁気ディスクと、
    前記磁気ディスクに対してデータをライトしたりデータをリードしたりする磁気ヘッドと、
    メモリと、
    前記複数の第1セクタのそれぞれに第1データセグメントが第1属性情報(300)とともに格納され、前記第1属性情報は前記複数の第1セクタのうちのそれが格納される第1セクタに対応する属性情報であり、前記第2セクタに第1パリティが格納されているときに、前記複数の第1セクタのうちの1つである第3セクタに対する第2データセグメントのライトが前記ホストから要求された場合、
    前記ホストから前記第2データセグメントを取得して前記メモリに格納し、
    前記第1トラックから全ての第1データセグメントおよび全ての第1属性情報を含むデータセットである第1データセットをリードして前記第1データセットを前記メモリに格納し、
    前記第3セクタに対応する前記属性情報である第2属性情報を取得し、
    前記第1データセットのうちの前記第3セクタからリードされた第1データセグメントおよび第1属性情報である第3データセグメントおよび第3属性情報を前記第2データセグメントおよび前記第2属性情報で前記メモリにおいて更新し、
    更新後の前記第1データセットである第2データセットを前記第1トラックにライトしながら前記第2データセットに基づいて第2パリティを計算し、
    前記第2パリティを前記第2セクタにライトする、
    コントローラと、
    を備える磁気ディスク装置。
  2. 前記ホストから取得するデータセグメントに対してキーを用いて暗号化したり前記ホストに送信するデータセグメントに対して前記キーを用いて復号を行ったりする暗号化/復号モジュールをさらに備え、
    前記第3属性情報は、前記ホストから前記第3データセグメントを取得したときに前記第3データセグメントに対する暗号化に使用された前記キーの世代情報を含み、
    前記第2属性情報は、前記ホストから前記第2データセグメントを取得したときに前記第2データセグメントに対する暗号化に使用された前記キーの世代情報を含む、
    請求項1に記載の磁気ディスク装置。
  3. 前記属性情報は、前記複数の第1セクタのうちのそれが格納される第1セクタにかかる誤りに関連する情報を含む、
    請求項1に記載の磁気ディスク装置。
  4. 前記磁気ディスクには、前記第1トラックを含む複数の第2トラックが設けられ、
    前記複数の第2トラックのそれぞれは、それぞれはデータセグメントが属性情報とともにライトされる複数の第4セクタと、パリティがライトされる第5セクタと、を備え、
    前記コントローラは、
    各第2トラックが受けたATI(Adjacent Track Interference)の影響の度合いを推定し、
    前記複数の第2トラックのうちの第1の状態の第2トラックが受けたATIの影響の度合いが第1しきい値を超えた場合、前記パリティの再計算および再計算された前記パリティのライトを含む前記第2トラックの内容のリライトを実行し、前記第1の状態は、前記第2トラックのうちの前記複数の第4セクタの内容と前記第5セクタ内のパリティとが対応する状態であり、
    前記複数の第2トラックのうちの第2の状態の第2トラックが受けたATIの影響の度合いが前記第1しきい値よりも小さい第2しきい値を超えた場合、前記パリティの再計算および再計算された前記パリティのライトを含む前記第2トラックの内容のリライトを実行し、前記第2の状態は、前記第2トラックのうちの前記複数の第4セクタの内容と前記第5セクタ内のパリティとが対応しない状態であり、
    前記第1トラックが前記第1の状態にあり、かつ前記第1トラックが受けたATIの影響の度合いが前記第2しきい値を超えている場合、
    前記ホストから前記第2データセグメントを取得して前記メモリに格納し、
    前記第1トラックから前記第1データセットをリードして前記メモリに格納し、
    前記第2属性情報を取得し、
    前記第1データセットのうちの前記第3データセグメントおよび前記第3属性情報を前記第2データセグメントおよび前記第2属性情報で前記メモリにおいて更新し、
    前記第2データセットを前記第1トラックにライトしながら前記第2データセットに基づいて前記第2パリティを計算し、
    前記第2パリティを前記第2セクタにライトし、
    前記第1トラックが第1の状態にあり、前記第1トラックが受けたATIの影響の度合いが前記第2しきい値に満たない場合か、または前記第1トラックが前記第2の状態にある場合、
    前記ホストから前記第2データセグメントを取得し、
    前記第2属性情報を取得し、
    前記第2データセグメントを前記第2属性情報とともに前記第3セクタにライトする、
    請求項1から請求項3の何れか一項に記載の磁気ディスク装置。
  5. 前記第2データセグメントが前記第3データセグメントよりも小さい場合、前記第3データセグメントの一部を前記第2データセグメントで置換するとともに、前記第3属性情報を前記第2属性情報で置換する、
    請求項4に記載の磁気ディスク装置。
JP2022150917A 2022-09-22 2022-09-22 磁気ディスク装置 Pending JP2024045862A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022150917A JP2024045862A (ja) 2022-09-22 2022-09-22 磁気ディスク装置
CN202310062335.5A CN117746917A (zh) 2022-09-22 2023-01-18 磁盘装置
US18/115,396 US11929094B1 (en) 2022-09-22 2023-02-28 Magnetic disk device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022150917A JP2024045862A (ja) 2022-09-22 2022-09-22 磁気ディスク装置

Publications (1)

Publication Number Publication Date
JP2024045862A true JP2024045862A (ja) 2024-04-03

Family

ID=90184452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022150917A Pending JP2024045862A (ja) 2022-09-22 2022-09-22 磁気ディスク装置

Country Status (3)

Country Link
US (1) US11929094B1 (ja)
JP (1) JP2024045862A (ja)
CN (1) CN117746917A (ja)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812335A (en) * 1995-09-01 1998-09-22 Adaptec, Inc. Programmable data transfer without sector pulses in a headerless disk drive architecture
US6662338B1 (en) * 1999-09-30 2003-12-09 Stmicroelectronics, Inc. Parity- sensitive Viterbi detector and method for recovering information from a read signal
JP4675970B2 (ja) * 2005-10-20 2011-04-27 東芝ストレージデバイス株式会社 ハードディスク・ドライブ
US7779331B2 (en) * 2006-07-31 2010-08-17 Agere Systems Inc. Systems and methods for tri-column code based error reduction
JP5007676B2 (ja) * 2008-01-31 2012-08-22 富士通株式会社 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
JP2010033287A (ja) * 2008-07-28 2010-02-12 Hitachi Ltd ストレージサブシステム及びこれを用いたデータ検証方法
US9229813B2 (en) 2014-03-06 2016-01-05 HGST Netherlands B.V. Error correction with on-demand parity sectors in magnetic data storage devices
US9837115B1 (en) 2016-10-31 2017-12-05 Seagate Technology Llc Unequal error correction code in multi-track recording
US10140180B1 (en) * 2016-11-04 2018-11-27 Seagate Technology Llc Segment-based outer code recovery
US10275309B2 (en) 2017-04-26 2019-04-30 Western Digital Technologies, Inc. Multi-layer integrated zone partition system error correction
CN111656446A (zh) * 2018-01-31 2020-09-11 惠普发展公司,有限责任合伙企业 硬盘驱动寿命预测
US11055171B2 (en) * 2018-05-17 2021-07-06 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure

Also Published As

Publication number Publication date
US20240105230A1 (en) 2024-03-28
US11929094B1 (en) 2024-03-12
CN117746917A (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
US10210900B2 (en) Rewriting of data stored in defective storage regions into other storage regions
US8654619B1 (en) Method and apparatus for operating a disk drive
US8427771B1 (en) Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors
US8661193B1 (en) Disk drive with partial sector management
JP4842719B2 (ja) ストレージシステム及びそのデータ保護方法
US8612798B1 (en) Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails
US8285923B2 (en) Disk drive and method using native command queuing tags to identify logical block size and implement protection information
US6687850B1 (en) Disk drive for storing sector-reconstruction sectors and for storing a sector-reconstruction status in sectors distributed around a disk
US10140180B1 (en) Segment-based outer code recovery
JP2012174325A (ja) 情報記録装置及び情報記録方法
US10777227B2 (en) Magnetic disk device and control method
US20240038267A1 (en) Magnetic disk device and dol setting method
JP2024045862A (ja) 磁気ディスク装置
US11508399B2 (en) Magnetic disk device and read/write processing method
US10867633B1 (en) Reduced adjacent track erasure from write retry
US10725854B2 (en) Disk device and data management method
US20180341565A1 (en) Data storage device saving partial map when read-modify-write fails during shingled writing
JP7512225B2 (ja) 磁気ディスク装置及びリード/ライト処理方法
US11984142B2 (en) Magnetic disk apparatus and method
US20220301590A1 (en) Magnetic disk device
US12033662B2 (en) Magnetic disk device
US20220392487A1 (en) Magnetic disk device and read/write processing method
US11074937B1 (en) Magnetic disk device and depop processing method
JP2005004733A (ja) ストレージ・システムにおいて書込みエラーを検出するための配置構成および方法
US9164694B1 (en) Data storage device detecting read-before-write conditions and returning configurable return data