JP2020042868A - 磁気ディスク装置及び磁気ディスク装置のデータリード方法 - Google Patents
磁気ディスク装置及び磁気ディスク装置のデータリード方法 Download PDFInfo
- Publication number
- JP2020042868A JP2020042868A JP2018166982A JP2018166982A JP2020042868A JP 2020042868 A JP2020042868 A JP 2020042868A JP 2018166982 A JP2018166982 A JP 2018166982A JP 2018166982 A JP2018166982 A JP 2018166982A JP 2020042868 A JP2020042868 A JP 2020042868A
- Authority
- JP
- Japan
- Prior art keywords
- data
- sector
- error
- sectors
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B20/1889—Methods for assignment of alternate areas for defective areas with discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6312—Error control coding in combination with data compression
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
- G11B2020/1843—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1883—Methods for assignment of alternate areas for defective areas
- G11B2020/1896—Methods for assignment of alternate areas for defective areas using skip or slip replacement to relocate data from a defective block to the next usable block, e.g. with a primary defect list [PDL]
Abstract
【課題】リード性能を向上させた磁気ディスク装置、及び磁気ディスク装置のデータリード方法を提供する。【解決手段】磁気ディスク装置1は、磁気ディスク2と、リード部132と、検出部134とを備える。磁気ディスク2は、データをそれぞれ記録する複数の第1セクタ、及び第1セクタに記録されているデータを復元するためのパリティデータを記録する第2セクタをトラック内に有する。リード部132は、ホスト17からの指示に基づいて、第2セクタを含む複数のセクタからデータをリードする。検出部134は、複数のセクタからデータをリードする場合、セクタ毎にエラーがあるか否かを検出する。そして、検出部によりエラーが検出された場合であっても、リード部132は、複数のセクタに対するデータのリードを継続する。【選択図】図1
Description
本発明の実施形は、磁気ディスク装置及び磁気ディスク装置のデータリード方法に関する。
データリード時にエラーを訂正する技術として、パリティデータを用いる技術が知られている。
例えば、複数のユーザデータのXOR演算を実行することによりパリティデータを生成する。その後、あるユーザデータにエラーがあった場合、そのユーザデータは、他のユーザデータとパリティデータのXOR演算によって復元することが可能である。
例えば、複数のユーザデータのXOR演算を実行することによりパリティデータを生成する。その後、あるユーザデータにエラーがあった場合、そのユーザデータは、他のユーザデータとパリティデータのXOR演算によって復元することが可能である。
ところで、従来の磁気ディスク装置において、ユーザデータをそれぞれ記録する複数のセクタ、及びこれらのセクタに記録されているユーザデータを復元するためのパリティデータを記録するセクタをトラック内に有する磁気ディスク備えたものが知られている。この種の磁気ディスク装置は、トラックからユーザデータをリードするときに当該トラック内のセクタにエラーが付加されていることを検出した場合、セクタをリードする処理を中断していた。これは、セクタに付加されているエラーに対応する処理を優先して実行するためである。
しかし、パリティデータを記録するセクタを有するトラックからユーザデータをリードする場合において、既述の場合と同様にトラック内のセクタにエラーが付加されていることを検出したときに磁気ディスク装置がセクタの読み出し処理を中断すると、既に読み出しを行っていたいずれかのセクタにECC(Error Correction Code)エラーを検出した場合には、全てのセクタの読み出しが行われていないため、ECCエラーを検出したセクタのデータの復元が実行できない事態が生じる。当該セクタのデータを復元するには、再度、セクタの読み出しを行わなければならず、磁気ディスク装置は、1回の読み出し処理でパリティデータを用いてデータ復元処理を行えるというチャンスを逸してしまうという。
本発明が解決しようとする課題は、リード性能を向上させた磁気ディスク装置、及び磁気ディスク装置のデータリード方法を提供することを目的とする。
一実施形態に係る、磁気ディスク装置は、磁気ディスクと、リード部と、検出部とを備える。磁気ディスクは、データをそれぞれ記録する複数の第1セクタ、及び前記第1セクタに記録されているデータを復元するためのパリティデータを記録する第2セクタをトラック内に有する。リード部は、ホストからの指示に基づいて、前記パリティデータを記録する第2セクタを含む複数のセクタからデータをリードする。検出部は、前記複数のセクタからデータをリードする場合、前記第1セクタ毎にエラーがあるか否かを検出する。そして、検出部によりエラーを検出した場合であっても、前記リード部は、前記複数のセクタに記録されたデータのリードを継続する。
以下、図面を参照して実施形態を説明する。
図1は、実施形態に係る磁気ディスク装置のブロック図である。
図1に示すように、磁気ディスク装置1は、例えば、ハード・ディスク・ドライブ(HDD)として構成され、磁気ディスク(以下では、「ディスク」と称する。)2と、スピンドルモータ(SPM)3と、アクチュエータ4と、ボイスコイルモータ(VCM)5と、磁気ヘッド(以下、「ヘッド」と称する。)10と、ヘッドアンプIC11と、R/Wチャネル12と、ハードディスクコントローラ(HDC)13と、マイクロプロセッサ(MPU)14と、ドライバIC15と、メモリ16とを備えている。また、磁気ディスク装置1は、ホストコンピュータ(以下、「ホスト」と称する。)17と接続可能である。ヘッド10は、ライトヘッド(記録ヘッド:writer)10W、リードヘッド(再生ヘッド:reader)10R、および高周波発振素子であるスピントルク発振子(Spin−Torque−Oscillator:STO)100を備えている。なお、R/Wチャネル12、HDC13及びMPU14は、1チップの集積回路に組み込まれていてもよい。
図1は、実施形態に係る磁気ディスク装置のブロック図である。
図1に示すように、磁気ディスク装置1は、例えば、ハード・ディスク・ドライブ(HDD)として構成され、磁気ディスク(以下では、「ディスク」と称する。)2と、スピンドルモータ(SPM)3と、アクチュエータ4と、ボイスコイルモータ(VCM)5と、磁気ヘッド(以下、「ヘッド」と称する。)10と、ヘッドアンプIC11と、R/Wチャネル12と、ハードディスクコントローラ(HDC)13と、マイクロプロセッサ(MPU)14と、ドライバIC15と、メモリ16とを備えている。また、磁気ディスク装置1は、ホストコンピュータ(以下、「ホスト」と称する。)17と接続可能である。ヘッド10は、ライトヘッド(記録ヘッド:writer)10W、リードヘッド(再生ヘッド:reader)10R、および高周波発振素子であるスピントルク発振子(Spin−Torque−Oscillator:STO)100を備えている。なお、R/Wチャネル12、HDC13及びMPU14は、1チップの集積回路に組み込まれていてもよい。
ディスク2は、例えば、円板状に形成され非磁性体からなる基板を有している。基板の各表面には、下地層として軟磁気特性を示す材料からなる軟磁性層と、その上層部に、ディスク面に対して垂直方向に磁気異方性を有する磁気記録層と、その上層部に保護膜層とが記載の順に積層されている。ここで、ヘッド10の方向を上層とする。
ディスク2は、スピンドルモータ(SPM)3に固定され、このSPM3によって所定の速度で回転させられる。なお、1枚に限らず、複数枚のディスク2がSPM3に設置されてもよい。SPM3は、ドライバIC15から供給される駆動電流(または駆動電圧)により駆動される。ディスク2は、ヘッド10によってデータパターンを記録再生される。ディスク2は、複数のトラックを有し、各トラック内に複数のセクタが構成されており、データパターンを複数のセクタに記録すると共に、1つのセクタがその複数のセクタに記録されているデータを復元するためのパリティデータを記録する。さらに、ディスク2は、モニタ用領域(評価領域)200を有する。モニタ用領域200は、STO100の発振特性を評価するための専用の領域である。モニタ用領域200は、例えば、ディスク2の半径方向の最外周または最内周の一部に設けられる。
アクチュエータ4は、回動自在に設置されているとともに、その先端部にヘッド10が支持されている。ボイスコイルモータ(VCM)5によってアクチュエータ4を回動することで、ヘッド10は、ディスク2の所望のトラック上に移動され、位置決めされる。VCM5は、ドライバIC15から供給される駆動電流(または駆動電圧)によって駆動される。
ヘッド10は、スライダと、スライダに形成されたライトヘッド10Wと、リードヘッド10Rとを有する。ヘッド10は、ディスク2の枚数に応じて、複数個設けられる。
ヘッドアンプIC11は、STO100の駆動や発振特性の検出などに関する回路を含む。例えば、ヘッドアンプIC11は、STO制御部111と、記録コイル制御部112と、再生信号検出部113と、ヒータ制御部114とを有する。ヘッドアンプIC11は、STO100の駆動や駆動信号検出などを実行する。さらに、ヘッドアンプIC11は、R/Wチャネル12から供給されるライトデータに応じたライト信号(ライト電流)をライトヘッド10Wに供給する。また、ヘッドアンプIC11は、リードヘッド10Rから出力されたリード信号を増幅して、R/Wチャネル12に伝送する。
STO制御部111は、ライトヘッド10WのSTO100へ通電する電流を制御する。記録コイル制御部112は、記録信号パターン制御部と記録電流制御部とを含む。記録コイル制御部112は、書き込み信号に応じてライトヘッド10Wのコイルへ供給する記録電流を制御する。再生信号検出部113は、リードヘッド10Rで再生した信号(リードデータ)を検出する。ヒータ制御部114は、ヒータへの電力供給を制御する。すなわち、ヒータ制御部114は、ヒータのON/OFFを切り替える。
R/Wチャネル12は、読み出し(リード)/書き込み(ライト)に関連する信号を処理する信号処理回路である。R/Wチャネル12は、リードデータの信号処理を実行するリードチャネルと、ライトデータの信号処理を実行するライトチャネルとを含む。R/Wチャネル12は、リード信号をデジタルデータに変換し、デジタルデータからリードデータを復調する。R/Wチャネル12は、HDC13から転送されるライトデータを符号化し、符号化されたライトデータをヘッドアンプIC11に転送する。
HDC13は、磁気ディスク装置1とホスト17とのインタフェースを構成し、リードデータおよびライトデータの転送制御を実行する。すなわち、HDC13は、ホスト17から転送される信号を受信し、且つホスト17へ信号を転送するホストインタフェースコントローラとして機能する。
また、HDC13は、ライト部131、リード部132、ECC訂正部133、検出部134、復元部135を有している。ライト部131は、ヘッド10、ヘッドアンプIC11、R/Wチャネル12、及びMPU14を介してディスク2へのデータの書き込みを制御する。リード部132は、ディスク2からのデータの読み出しを制御する。例えば、リード部132は、ホストの指示に基づいて、データを読み取る対象となる複数のセクタ(パリティデータを記録するセクタを含む。)からデータをリードする。ECC訂正部133は、リード部132が読み出したセクタ単位のデータに対してECC訂正処理を実行する。ここで、XORは、排他的論理和である。検出部134は、ホスト17へ信号を転送する場合、MPU14に従ってヘッド10により読み出され、復調された再生信号のデータのエラー検出処理をセクタ単位で実行する。復元部135は、パリティデータを利用してECCエラーが検出されたデータの復元を実行する。なお、復元部135は、HDC13がホストからの指示に基づいて、エラーセクタ(エラーが検出されたセクタ)のデータをパリティデータに基づいて復元するデータ復元処理機能をON/OFFすることができるようになっている。
近年の磁気ディスク装置では、LDPC(Low Density Parity Check)符号のように、ECC訂正部がR/Wチャネルに含まれている場合もある。その場合は、ECC訂正処理及びECCエラーが検出されたデータの復元処理は、R/Wチャネル内で行われる。
近年の磁気ディスク装置では、LDPC(Low Density Parity Check)符号のように、ECC訂正部がR/Wチャネルに含まれている場合もある。その場合は、ECC訂正処理及びECCエラーが検出されたデータの復元処理は、R/Wチャネル内で行われる。
次に、既述のエラー検出処理について説明する。エラー検出処理は、セクタ毎に、ECCエラー(第1エラー)、又は情報付加エラー(第2エラー)を検出する処理である。ECCエラーは、ECC訂正部133によるECC訂正処理結果がアンコレクタブルである場合に検出されるエラーである。このようにECC訂正処理の結果がアンコレクタブルであると判定されたセクタのデータは、パリティデータを用いたデータ復元処理の対象となり、既述のデータ復元処理機能がONの場合は、当該セクタのデータは復元部135により復元される。また、情報付加エラーは、セクタにエラーセクタであることを示すエラー情報が付加されている場合に検出されるエラーである。このため、エラー情報が付加されているセクタは、ECCの処理結果はコレクタブルであってもエラーが検出される。ここで、エラー情報は、例えば、従前にECCエラーが発生し、パリティデータを利用してデータが復元される等の所定のエラー処理が行われた後、当該セクタに付される場合が想定される。なお、エラー情報が付加される要因はこれに限るものではない。また、本実施形態では、エラー情報がセクタに付加されている場合で説明するが、第2エラーはこれに限るものではなく、セクタがエラーと判定される種々の場合を含むようにしてもよい(ただし、ECCエラーは除く)。エラー検出処理に関する処理の一例は、図9を参照して後述する。
また、HDC13は、ホスト17から転送されるコマンド(ライトコマンド、リードコマンド等)を受信し、受信したコマンドをMPU14に送信する。
MPU14は、磁気ディスク装置1のメインコントローラであり、リード/ライト動作の制御およびヘッド10の位置決めに必要なサーボ制御を実行する。
ドライバIC15は、MPU14の制御に従いSPM3とVCM5との駆動を制御する。VCM5が駆動することによって、ヘッド10はディスク2上の目標トラックへ位置付けられる。
メモリ16は、揮発性メモリおよび不揮発性メモリを含む。例えば、メモリ16は、DRAMからなるバッファメモリ、及びフラッシュメモリを含む。メモリ16は、MPU14の処理に必要なプログラムおよびパラメータを格納する。
次に、図2から図8を用いて、ディスク2へのデータの書き込み、及びデータの読み出しの作用の一例について説明する。なお、図2から図8のうち、図4及び図6は、本実施形態と異なる他の作用の一例を示す図であり、本実施形態の作用と比較して説明するために用いられる。
図2は、複数のセクタへデータを書き込む書き込み動作の一例を示す図である。具体的には、複数のセクタとして、セクタS0〜S4にデータを書き込む例で説明する。なお、セクタS0からS3は、ユーザデータを記録する第1セクタ群であり、セクタS4は、セクタS0〜S3に記録されるユーザデータのXOR演算によって生成されるパリティデータが記録される第2セクタ群である。図2には、5回の書き込み指示に対応してセクタS0〜SセクタS4にそれぞれデータを書き込む動作が実行される様子が示されている。なお、図2に示す例は一例であり、例えばS0とS2、S1とS3でそれぞれXOR演算を行い、パリティデータを複数生成するなど、データを書き込むセクタの数やパリティデータの数及び生成方法は、これに限るものではない。
図3は、複数のセクタからデータを読み出す読み出し(リード)動作の一例を示す図である。より詳細には、復元部135で実行するデータ復元処理機能をオフにしている場合において、リード部132がセクタS0〜S3からのデータをリードするリード動作の一例を示す図である。
データ復元処理機能がオフであるため、セクタS4(パリティデータ)のリードが実行されない。このため、図3に示すように、4回の読み出し指示にそれぞれ対応してセクタS0からS3からデータがリードされる。各セクタのリードされたデータは、ECC訂正部133によりECC訂正処理が実行される。このとき、ECC訂正処理が完了する順番は、読み出し順と一致するとは限らない。図3に示す一例では、読み出し順がセクタS0、セクタS1、セクタS2、セクタS3という順番なのに対して、ECC訂正処理の完了の順は、セクタS0、セクタS2、セクタS1、セクタS3になっており、両者の順番は一致していない。
次は、本実施形態とは異なる他の作用(従来技術)において、データ読み出し時に、エラーを検出した場合の動作の一例について説明する。図4は、図3に示す動作の途中でエラー(ECCエラー、又は情報付加エラー)を検出した場合の動作の一例を示す図である。
図4に示す例においては、HDC13は、エラーを検出した場合、エラーを検出したセクタに対してエラー内容に応じた処理を行うため、エラー検出後すぐにデータの読み出し処理を中断する。図4に示すように、図中破線で示すセクタS3に対する読み出し指示の前にエラーを検出しているため、リード部132は、セクタS3に対するデータの読み出し指示を送信しなくなる。したがって、図中破線で示すセクタS3のデータの読み出しは行われない。また、セクタS2よりもセクタS1のECC訂正処理の完了が遅いため、セクタS1でエラーを検出する可能性がある。このため、最初のエラー検出時までに読み出し指示が出された全てのセクタ(つまり、セクタS0,S1,S2)のECC訂正が全て完了するまで待ってから読み出し処理を中断している。エラーセクタの処理によっては、全てのセクタのECC訂正処理の完了を待たなくてもよい場合があるが、このような場合にも、全セクタのECC訂正処理が全て完了するまで待ってから読み出し処理を中断している。
図5は、エラーセクタのデータをパリティデータを用いて復元するデータ復元処理機能を有効にしてデータ読み出し処理を行った場合の動作の一例を示す図である。
セクタS0〜S4に対する読み出し指示に基づいて、セクタS0〜S4の5つのセクタからデータの読み出しが行われる。データ復元処理機能がONになっているため、図3の場合と異なり、XORパリティセクタであるセクタS4からもデータの読み出し処理を行っている。そして、読み出した各セクタのデータに対して、それぞれ、ECC訂正部133によりECC訂正処理が実行される。訂正処理の結果が完了される順番は既述したように読み出し順と必ずしも一致せず、図5に示す例では、セクタS0,S2の処理が終了した後、セクタS1のECC訂正処理が終了している。そして、検出部134がそのセクタS1でECCエラーを検出するが、リード部132はデータの読み出し処理を中断せず、継続する。リード部132は、セクタS3,セクタS4(パリティデータ)まで読み出し処理を行い、全てのセクタのECC訂正処理が終了した後、復元部135がセクタS1以外のセクタのデータを用いたXOR演算によってセクタS1のデータを復元する。ここで、検出部134がECCエラーではなく情報付加エラーを検出した場合は、情報付加エラーが付加されたセクタはエラーが検出されたものの書き込み時のデータを正しく読み出すことができているデータであるため、パリティデータを用いたデータ復元の対象にはならない。言い換えれば、情報付加エラーが検出されたセクタのデータは、ECCエラーが検出されたセクタのデータのデータ復元処理を行う場合に欠かすことのできないデータである。
次に、本実施形態と異なる他の作用例(従来技術)において、図5に示す動作の一例の途中で情報付加エラーを検出した場合の動作について説明する。図6は、図5に示す動作の途中、セクタS2で情報付加エラーを検出した場合の従来におけるデータの読み出し動作の一例を示す図である。
検出部134が情報付加エラーを検出した場合、読み出し処理を中断し、それまでに読み出し指示のあった全セクタのECC訂正処理の完了を待つ。そして、HDC13は最終的にエラーとなったセクタの中で読み出し順が一番早かったセクタに対してエラー内容に応じた処理を行う。図6に示す例では、リード部132は、セクタS0〜S4の5つの読み出し指示を送信し、セクタS0,S1,S2からデータを読み出すときに、セクタS2からデータを読み出す際に情報付加エラーを検出したため、以降のデータの読み出し処理が中断される。このため、図中破線で示すセクタS3,S4に対する読み出し指示が中断され、図中破線で示すセクタS3,S4のデータのリードは行われない。そして、セクタS0,S2,S1の順にECC訂正処理が実行され、セクタS1にてECC訂正処理の結果にエラーがあることが検出される。
つまり、HDC13は、最初にセクタS2で情報付加エラーを検出し、その後、読み出し処理を中断後にセクタS1でECCエラーを検出している。このため、エラー処理の順としては、セクタS2のエラーへの対応より、読み出し順が早いセクタS1のECCエラーへの対応が優先される。したがって、HDC13は、再度、セクタS3,S4のデータを読み出し、セクタS3,S4のECC訂正処理の結果を待って、セクタS0,S2,S3,S4(パリティデータ)を用いてセクタS1のデータ復元処理を実行する必要が生じる。ここで、仮に、セクタS2の情報付加エラーを検出したときにデータの読み出し処理を中断せずにセクタS4(パリティデータ)まで読み出し処理を行っていた場合、1回の読み出し処理でセクタS1のデータ復元処理が可能であった。しかし、既述のように、再度、セクタS3,S4のデータを読み出すため、データの読み出し処理に時間がかかっていた。
次に、本実施形態において、図5に示す動作の途中で情報付加エラーを検出した場合の動作について説明する。図7は、図5に示す動作の途中、セクタS2で情報付加エラーを検出した場合のデータの読み出し動作の一例を示す図である。
読み出し指示、読み出しセクタ番号、ECC訂正完了、ECC訂正完了セクタ番号についての説明、及び、セクタS1でECCエラーを検出しているのは、図5の場合と同様である。図7に示す例では、セクタS1よりも先にECC訂正処理が完了したセクタS2にて情報付加エラーを検出している点が異なっている。
リード部132は、セクタS2に情報付加エラーを検出しても、データの読み出し処理を継続する。そして、リード部132は、読み出し順が一番早かったエラーセクタを記録するために、先頭エラーセクタとして、セクタS2を例えば、メモリ16の所定の領域に記録する。次に、ECC訂正部133は、セクタS1にてECCエラーを検出する。この時点で、エラーを検出したセクタのうち、読み出し順が一番早いセクタはセクタS1であることが確定する(セクタS0ではエラーは検出されていない)。そして、このセクタS1はECCエラーであるため、復元部135によりパリティデータを使った復元を行う必要があるので、リード部132はデータの読み出し処理を中断せずに復元に必要なセクタのデータを全て読み出す。これにより、リード部132は、セクタS0,S2,S3,S4(パリティデータ)のデータを中断することなく継続して読み出すことができる。このため、復元部135は、再度、データの読み出しを行うことなく1回のデータの読み出し処理により、セクタS1のデータを復元することが可能になる。
次に、本実施形態において、図5に示す動作の途中で情報付加エラーを検出した場合の図7に示す例とは異なる他の動作について説明する。図8は、図5に示す動作の途中、セクタS2で情報付加エラーを検出した後、セクタS3にてECCエラーを検出した場合の動作の一例を示す図である。図7の場合と比較すると、セクタS1ではなくセクタS3でECCエラーを検出した点が異なっている。
検出部134がセクタS2にて情報付加エラーを検出した後、セクタS1のECC訂正が完了し、エラーが検出されなかった時点で、エラーを検出したセクタのうち、読み出し順が一番早いセクタ(先頭エラーセクタ)はセクタS2であることが確定する。そして、セクタS2で検出されたエラーが情報付加エラーであるため、HDC13は、セクタS2のデータは正常であり、復元部135によりセクタS4のパリティデータを使ったデータ復元処理が必要ないため、データの読み出し処理を中断する。つまり、図中破線で示すセクタS4のデータの読み出し指示が送信されなくなり、セクタS4からデータが読み出されることがなくなる。これにより、HDC13は、セクタS2にて検出した情報付加エラーに対応するエラー処理を直ぐに実行することが可能になる。
また、本実施形態では、セクタS2で情報付加エラーセクタを検出した際、そのセクタが全エラーセクタの中でディスク2から読み出した順が一番早かったこと(つまり、先頭エラーセクタ)が確定した後は、データの読み出しを中断する、言い換えると、一番早かったことが確定するまで読み出し処理を継続する場合を説明したが、これに限るものではない。例えば、リード部132は、先頭エラーセクタが確定した後もデータの読み出し処理を中断することなく、継続してデータの読み出し処理を継続してもよい。これにより、全てのセクタのデータの読み出しを行い、1回のリードでセクタS3のデータを復元することが可能である。このように、セクタS2の情報付加エラーに対する対応よりも先にセクタS3のデータの復元をすることも可能である。また、データの読み出し処理を図7の処理又は図8の処理のいずれの処理にするかは、いずれかの処理を固定的に実行するようにしてもよいし、ホスト17の指示に基づいて、HDC13が適宜設定を変更できるようにしてもよい。
次に、HDC13の読み出し処理の一例について説明する。より詳細には、ホスト17からの指示に基づいて、所定のトラック内の複数のセクタ(パリティデータを含む)のデータを読み出す処理について説明する。図9は、当該処理の一例を示すフローチャートであり、既述の図7,図8の作用に対応した処理である。
図2に示すように、ホストからのデータの読み出し指示をHDC13が受信した場合、当該指示に基づく範囲に対応するトラック内の複数のセクタからデータをセクタ単位で読み出す(ST101)。これにより、MPU14を介して各セクタからデータが読み出され、読み出されたデータがHDC13に出力される。
次に、HDC13は、MPU14から出力された各セクタのデータに対してエラーセクタ検出処理を実行する(ST102)。エラーセクタ検出処理は、各セクタにエラーが検出されたか否かを判定する処理であり、本実施形態では、各セクタにECCエラー、又は情報付加エラーが検出されたか否かを判定する処理である。
そして、HDC13は、先頭エラーセクタを検出したか否かを判定する(ST103)。先頭エラーセクタか否かは、エラーを検出したセクタが、データを読み出す複数のセクタのうち読み出しの順番が最も早いセクタか否かを判定する処理である。図7を用いて説明したように、メモリ16の所定領域を利用して、既述の先頭エラーセクタを検出する。先頭エラーセクタを検出したと判定しない場合(ST103:NO)、処理は、ステップST101に戻る。つまり、データの読み出しが継続される。
一方、先頭エラーセクタを検出したと判定した場合(ST103:YES)、HDC13は、先頭エラーセクタで検出されたエラーがECCエラーか否かを判定する(ST104)。ECCエラーであると判定した場合(ST104:YES)、HDC13は、データの読み出し処理を継続する(ST105)。すなわち、まだ読み出し指示をしていないセクタに対して読み出し指示が送信され、当該セクタからデータの読み出しが継続される。ECCエラーは、ECC訂正処理の結果がアンコレクタブルであるエラーであるため、HDC13は、パリティデータを用いてECCエラーを検出したセクタのデータの復元処理を実行する(ST106)。
また、ECCエラーでないと判定した場合(ST104:NO)、つまり、情報付加エラーであると判定した場合、HDC13は、データの読み出し処理を中断する(ST107)。したがって、未だ読み出し指示がリード部132から送信されていないセクタからのデータの読み出しが中断される。そして、HDC13は、情報付加エラーに対応するエラー処理を実行する(ST108)。ここで、当該情報付加エラーに対応するエラー処理は、任意に設定することができる。そして、ステップST106のデータの復元処理、又はステップST108のエラー処理が終了すると、HDC13は、この処理は終了する。なお、エラーセクタが検出されずに対象となるセクタからデータが読み出された場合も、この処理は終了する。
以上の図2から図9を用いて説明したように、HDC13は、セクタS4(パリティデータ)を有する複数のセクタからデータを読み出しているときに、情報付加エラーセクタを検出した際、エラーを検出したセクタのうち、情報付加エラーを検出したセクタの読み出し順が一番早いことが確定するまで、まだデータを読み出していないセクタからデータを読み出す処理を継続する。これにより、情報付加エラーを検出した後に、ECCエラーを検出し、さらにそのECCエラーを検出したセクタが情報付加エラーを検出したセクタよりもディスク2からの読み出し順が早い場合に、HDC13は、データの読み出しを継続する。このため、ECCエラーを検出したセクタのデータをパリティデータによる復元処理することができ、1回の読み出し処理でECCエラーを検出したセクタのデータを復元することが可能となる。したがって、磁気ディスク装置のリード性能を向上させることができる。
さらに、上記実施形態において、ディスク2への書き込みを瓦磁気記録方式(シングル磁気記録方式(Shingled Magnetic Recording :SMR)とも称する。)を用いるようにしてもよい。シングル磁気記録方式は、シーケンシャルなデータの書き込みに特化した記録方式であり、トラック内の複数のセクタにそれぞれ記録されるデータ、及び各セクタに記録されるデータを復元するためのパリティデータが複数のセクタに亘ってシーケンシャルに記録される。このため、上記実施形態のデータの読み出しに関する技術を、瓦磁気記録方式を採用した磁気ディスク装置に適用することにより、当該磁気ディスク装置のデータの読み出し性能をさらに向上させることができる。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…磁気ディスク装置、2…磁気ディスク、3…スピンドルモータ、4…アクチュエータ、5…ボイスコイルモータ(VCM)、10…磁気ヘッド、11…ヘッドアンプIC、12…R/Wチャネル、13…ハードディスクコントローラ(HDC)、14…マイクロプロセッサユニット(MPU)、15…ドライバIC、16…メモリ、17…ホスト、131…ライト部131、132…リード部132、133…ECC訂正部133、134…検出部134、135…復元部135
Claims (9)
- データをそれぞれ記録する複数の第1セクタ、及び前記第1セクタに記録されているデータを復元するためのパリティデータを記録する第2セクタをトラック内に有する磁気ディスクと、
ホストからの指示に基づいて、前記第2セクタを含む複数のセクタからデータをリードするリード部と、
前記複数のセクタからデータをリードする場合、前記第1セクタ毎にエラーがあるか否かを検出する検出部と、
前記検出部によりエラーが検出された場合であっても、前記リード部は、前記複数のセクタに記録されたデータのリードを継続する、
磁気ディスク装置。 - 前記検出部は、前記第1セクタからリードされたデータのエラー訂正処理の結果がアンコレクタブルであることを示す第1エラー、及び前記第1セクタがエラーセクタであることを示す第2エラーを検出する、
請求項1に記載の磁気ディスク装置。 - 前記複数のセクタに記録されたデータのリード中に前記検出部により前記第1エラーが検出された場合、前記リード部は、前記第2セクタから前記パリティデータをリードするまでリードを継続する、
請求項2に記載の磁気ディスク装置。 - 前記第1エラーが検出された場合、前記パリティデータを用いて前記第1エラーが検出された前記第1セクタのデータを復元する復元部をさらに備える、
請求項2又は3に記載の磁気ディスク装置。 - 前記複数のセクタに対するデータのリード中に前記検出部により前記第2エラーが検出され場合、前記リード部は、当該第2エラーを検出した前記第1セクタが前記複数のセクタの中でリード順番が一番早い順番であることが確定するまで前記複数のセクタに対するデータのリードを継続する、
請求項2から4のいずれか一項に記載の磁気ディスク装置。 - 前記リード部は、前記エラー訂正処理の結果が得られる順番に基づいて、前記第2エラーを検出したセクタが前記複数のセクタの中でリード順番が一番早い順番であるか否かを確定する、
請求項5に記載の磁気ディスク装置。 - 前記検出部が前記第1エラー、又は前記第2エラーを検出した場合、
前記リード部は、前記検出部が検出するエラーの種類に依存せず、前記複数のセクタ全てからデータのリードが終了されるまで前記複数のセクタに対するデータのリードを継続する、
請求項2に記載の磁気ディスク装置。 - 前記第1セクタに記録されているデータ及び前記パリティデータは、瓦記録方式により前記磁気ディスクの前記複数のセクタに亘ってシーケンシャルに記録されている、
請求項1から請求項7のいずれか一項に記載の磁気ディスク装置。 - 磁気ディスク装置のデータリード方法であって、
前記磁気ディスク装置は、データを記録する複数の第1セクタ、及び前記第1セクタに記録されているデータを復元するためのパリティデータを記録する第2セクタをトラック内に有する磁気ディスクを備え、
前記磁気ディスク装置は、
ホストからの指示に基づいて、前記第2セクタを含む複数のセクタからデータをリードし、
前記複数のセクタからデータをリードする場合、前記第1セクタ毎にエラーがあるか否かを検出し、
エラーを検出した場合であっても、前記複数のセクタに対するデータのリードを継続する、
前記磁気ディスク装置のデータリード方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018166982A JP2020042868A (ja) | 2018-09-06 | 2018-09-06 | 磁気ディスク装置及び磁気ディスク装置のデータリード方法 |
CN201910025406.8A CN110880337B (zh) | 2018-09-06 | 2019-01-11 | 磁盘装置及磁盘装置的数据读取方法 |
US16/291,756 US10846176B2 (en) | 2018-09-06 | 2019-03-04 | Magnetic disk device and method of continued reading of sectors of magnetic disk device even after an error is detected in one of the sectors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018166982A JP2020042868A (ja) | 2018-09-06 | 2018-09-06 | 磁気ディスク装置及び磁気ディスク装置のデータリード方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020042868A true JP2020042868A (ja) | 2020-03-19 |
Family
ID=69720804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018166982A Pending JP2020042868A (ja) | 2018-09-06 | 2018-09-06 | 磁気ディスク装置及び磁気ディスク装置のデータリード方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10846176B2 (ja) |
JP (1) | JP2020042868A (ja) |
CN (1) | CN110880337B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634978A (zh) * | 2020-12-23 | 2021-04-09 | 江苏国科微电子有限公司 | 一种NVMe固态硬盘异常处理方法、装置及集成芯片 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452311A (en) * | 1992-10-30 | 1995-09-19 | Intel Corporation | Method and apparatus to improve read reliability in semiconductor memories |
US6993251B1 (en) * | 2000-03-31 | 2006-01-31 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for concealing disk soft errors in recorded digital television signals |
US6891690B2 (en) | 2002-11-20 | 2005-05-10 | International Business Machines Corporation | On-drive integrated sector format raid error correction code system and method |
CN101118771B (zh) * | 2006-07-31 | 2012-07-04 | 赵辉 | 光盘数据恢复方法及光盘数据恢复系统 |
FR2983597B1 (fr) * | 2011-12-01 | 2014-01-24 | Viaccess Sa | Procede de detection d'une erreur de lecture d'une donnee |
JP2014089780A (ja) * | 2012-10-30 | 2014-05-15 | Toshiba Corp | 情報記録装置および情報記録方法 |
US9632863B2 (en) | 2015-01-13 | 2017-04-25 | Western Digital Technologies, Inc. | Track error-correcting code extension |
CN106445406B (zh) * | 2015-08-07 | 2019-07-26 | 株式会社东芝 | 存储控制器、存储装置以及数据写入方法 |
US9841906B2 (en) * | 2016-02-01 | 2017-12-12 | Seagate Technology Llc | Zone forward drive management |
US10075192B2 (en) | 2016-05-09 | 2018-09-11 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for data processing with folded parity sector |
-
2018
- 2018-09-06 JP JP2018166982A patent/JP2020042868A/ja active Pending
-
2019
- 2019-01-11 CN CN201910025406.8A patent/CN110880337B/zh active Active
- 2019-03-04 US US16/291,756 patent/US10846176B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN110880337B (zh) | 2021-07-16 |
CN110880337A (zh) | 2020-03-13 |
US20200081779A1 (en) | 2020-03-12 |
US10846176B2 (en) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3273502B2 (ja) | ディスクドライブ装置、ディスクドライブ装置のエラー回復処理方法及びディスクドライブ制御装置 | |
JP2012174325A (ja) | 情報記録装置及び情報記録方法 | |
JP2012212488A (ja) | 情報記録装置および情報記録方法 | |
KR20130035917A (ko) | 자기 기록 시스템들에서 트랙간 간섭 완화를 위한 하드웨어 기반 방법 및 장치 | |
US7487388B2 (en) | Method of recovering reallocation sectors in data storage system and disc drive using the same | |
US7184241B1 (en) | Disk drive that performs cold writes to erased buffer | |
US10438615B2 (en) | Disk device, controller circuit, and control method | |
JP2011018402A (ja) | 情報再生装置及び情報再生方法 | |
JP2012138157A (ja) | 情報記録装置及び情報記録方法 | |
JP2004206795A (ja) | ディスク記憶装置及びライト制御方法 | |
JP5886803B2 (ja) | 情報記録装置およびデータ復旧方法 | |
JP2007317271A (ja) | データ記憶装置及びそのリード処理におけるエラー処理方法 | |
JP2006269027A (ja) | データ記憶装置 | |
JP2020042868A (ja) | 磁気ディスク装置及び磁気ディスク装置のデータリード方法 | |
JP2006127635A (ja) | 情報記憶装置 | |
JP2007287208A (ja) | データ記憶装置及びそのエラー訂正方法 | |
US11842047B2 (en) | Magnetic disk device | |
JP2005276026A (ja) | データ記憶装置におけるエラー回復処理方法、データ記憶装置及び磁気ディスク記憶装置 | |
JP2014182848A (ja) | 情報再生装置および情報再生方法 | |
CN113345477B (zh) | 磁盘装置 | |
JP2001093104A (ja) | 磁気ディスク装置の動作エラー回復方法および磁気ディスク装置 | |
JP2008299978A (ja) | ディスク・ドライブ装置及びディスクからのデータ再生方法 | |
JP3754199B2 (ja) | ディスク記録再生装置及び同装置に適用するエラー処理方法 | |
US9053746B2 (en) | Disk device and data recording method | |
JP2023140542A (ja) | 磁気ディスク装置および方法 |