(57)【要約】【課題】  リードしたデータの信頼性を向上する磁気ディスク装置及びリード処理方法を提供することである。【解決手段】  本実施形態に係る磁気ディスク装置は、ディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、コントローラと、前記ディスクからリードした第１データに基づいて前記第１データを前記ディスクにライトしたときの第２データを生成し、前記第２データに基づいて熱揺らぎ現象による前記第１データの振幅の変化を示す第３データを生成し、前記第３データに基づいて前記第１データを調整する、コントローラとを備える。【選択図】図１
2019067473.tif 000002
【特許請求の範囲】
【請求項１】
ディスクと、
前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、
コントローラと、前記ディスクからリードした第１データに基づいて前記第１データを前記ディスクにライトしたときの第２データを生成し、前記第２データに基づいて熱揺らぎ現象による前記第１データの振幅の変化を示す第３データを生成し、前記第３データに基づいて前記第１データを調整する、コントローラとを備える磁気ディスク装置。
【請求項２】
前記コントローラは、前記第１データに硬判定処理を実行して前記第２データを生成する、請求項１に記載の磁気ディスク装置。
【請求項３】
前記コントローラは、前記第２データの極性反転する第１タイミング及び第２タイミングから前記第２データの極性反転の間隔の中間の第３タイミングに向かって前記第３データが大きくなり、且つ前記第２データの第１周波数の波形の極性反転の間隔の中間の第４タイミングの前記第３データよりも前記第２データの第１周波数より小さい第２周波数の波形の極性反転の間隔の中間の第５タイミングの前記第３データが大きくなる特徴と前記第２データとに基づいて前記第３データを生成する、請求項１又は２に記載の磁気ディスク装置。
【請求項４】
前記コントローラは、前記第２データに信頼性の低い第１ビットパターンを検出した場合、前記第１ビットパターンを極性反転する、請求項１乃至３のいずれか１項に記載の磁気ディスク装置。
【請求項５】
前記コントローラは、前記第２データにおいて高周波パターンである前記第１ビットパターンを検出し、前記第２データにおいて前記第１ビットパターンの直前の第２ビットパターンと直後の第３ビットパターンとが低周波パターンであるか高周波パターンであるかを判定し、低周波パターンであると判定した場合に、前記第１ビットパターンの信頼性を示す第１情報が第１閾値より小さいか第１閾値以上であるかを判定し、前記第１情報が前記第１閾値よりも小さいと判定した場合、前記第１ビットパターンを極性反転する、請求項４に記載の磁気ディスク装置。
【請求項６】
前記コントローラは、前記第３データを孤立再生波形の飽和レベルとして畳み込み処理を実行することで第４データを生成し、前記第４データを使用して前記第１データを調整する、請求項１乃至５のいずれか１項に記載の磁気ディスク装置。
【請求項７】
前記コントローラは、前記畳み込み処理を実行する際に畳み込みを実行する波形干渉の範囲を変更できる、請求項６に記載の磁気ディスク装置。
【請求項８】
前記コントローラは、前記第４データの第１波形の第１振幅が第２閾値よりも大きいか小さいかを判定し、前記第１振幅が第２閾値よりも大きいと判定した場合、前記第１振幅を前記第２閾値にする、請求項６又は７に記載の磁気ディスク装置。
【請求項９】
ディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、を備える磁気ディスク装置に適用されるリード処理方法であって、
前記ディスクからリードした第１データに基づいて前記第１データを前記ディスクにライトしたときの第２データを生成し、
前記第２データに基づいて熱揺らぎ現象による前記第１データの振幅の変化を示す第３データを生成し、
前記第３データに基づいて前記第１データを調整する、リード処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、磁気ディスク装置及びリード処理方法に関する。
【背景技術】
【０００２】
磁気ディスク装置は、ディスクの記録層を構成する磁性体粒子の微細化が進んでいる。磁気ディスク装置では、磁性体粒子が微細化されるに従って熱安定性が低下し、熱エネルギによって磁性体粒子の磁化方向が自由に反転する熱揺らぎ現象が生じ得る。熱揺らぎ現象が生じたことで磁性体粒子の磁化方向が反転した場合、磁気ディスク装置は、データを正確にリードできない可能性がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第７１７３７８３号明細書
【特許文献２】米国特許第８８１９５２７号明細書
【特許文献３】米国特許第７４４０２０８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態が解決しようとする課題は、リードしたデータの信頼性を向上する磁気ディスク装置及びリード処理方法を提供することである。
【課題を解決するための手段】
【０００５】
本実施形態に係る磁気ディスク装置は、ディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、コントローラと、前記ディスクからリードした第１データに基づいて前記第１データを前記ディスクにライトしたときの第２データを生成し、前記第２データに基づいて熱揺らぎ現象による前記第１データの振幅の変化を示す第３データを生成し、前記第３データに基づいて前記第１データを調整する、コントローラとを備える。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係る磁気ディスク装置の構成を示すブロック図である。
【図２】図２は、熱揺らぎ現象の一例を説明するための模式図である。
【図３】図３は、熱揺らぎ現象の一例を説明するための模式図である。
【図４】図４は、熱揺らぎ現象によるリードデータの再生波形の振幅の変化の一例を示す図である。
【図５】図５は、熱揺らぎ現象が生じた場合のリードデータの再生波形の一例を示す図である。
【図６】図６は、実施形態に係るＲ／Ｗチャネルのリード系の構成例を示すブロック図である。
【図７】図７は、実施形態に係る熱揺らぎ処理部の構成例を示すブロック図である。
【図８】図８は、実施形態に係る反転部の処理の一例を説明するための図である。
【図９】図９は、本実施形態に係る熱揺らぎ処理の一例を示すフローチャートである。
【図１０】図１０は、実施形態に係る熱揺らぎ処理を実行するタイミングの一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、実施の形態について図面を参照して説明する。なお、図面は、一例であって、発明の範囲を限定するものではない。
【０００８】
（第１実施形態）  
図１は、第１実施形態に係る磁気ディスク装置１の構成を示すブロック図である。  
【０００９】
磁気ディスク装置１は、後述するヘッドディスクアセンブリ（ＨＤＡ）と、ドライバＩＣ２０と、ヘッドアンプ集積回路（以下、ヘッドアンプＩＣ、又はプリアンプ）３０と、揮発性メモリ７０と、バッファメモリ（バッファ）８０と、不揮発性メモリ９０と、１チップの集積回路であるシステムコントローラ１３０とを備える。また、磁気ディスク装置１は、ホストシステム（ホスト）１００と接続される。
【００１０】
ＨＤＡは、磁気ディスク（以下、ディスク）１０と、スピンドルモータ（ＳＰＭ）１２と、ヘッド１５を搭載しているアーム１３と、ボイスコイルモータ（ＶＣＭ）１４とを有する。ディスク１０は、スピンドルモータ１２により回転する。アーム１３及びＶＣＭ１４は、アクチュエータを構成している。アクチュエータは、ＶＣＭ１４の駆動により、アーム１３に搭載されているヘッド１５をディスク１０上の目標位置まで移動制御する。ディスク１０およびヘッド１５は、２つ以上の数が設けられてもよい。以下、ホスト１００から転送されてディスク１０にライトされるデータをライトデータと称し、ディスク１０からリードされてホスト１００に転送されるデータをリードデータと称する。なお、リードデータ及びライトデータを単にデータと称する場合もある。
【００１１】
ディスク１０は、その記録領域に、ユーザから利用可能な記録領域１０ａと、システム管理に必要な情報をライトするシステムエリア１０ｂとが割り当てられている。ディスク１０は、後述するヘッド１５のライトヘッド１５Ｗから印加されるライトデータのデータパターンに対応する記録磁界により磁化されることでデータがライトされる。ディスク１０は、各トラックにおいて、ライトデータの波形（又は、ビットパターン）に対応する情報領域毎に同じ方向に磁化される。そのため、情報領域に含まれる複数の磁性体粒子は、実質的には同じ方向に磁化されている。以下、情報領域に含まれる複数の磁性体粒子を単に情報領域と称する場合もある。例えば、情報領域は、ライトデータのｎＴ（ｎ＝正の整数：１、２、３、４…）の波形に対応する。ディスク１０では、時間の経過とともに、熱エネルギによって磁性体粒子の磁化方向が自由に極性反転する現象（以下、熱揺らぎ現象と称する）が生じ得る。熱揺らぎ現象は、磁性体粒子の大きさ（グレインサイズ）が小さくなるに従って、顕著に現れてくる。
【００１２】
ヘッド１５は、スライダを本体として、当該スライダに実装されているライトヘッド１５Ｗ、及びリードヘッド１５Ｒを備える。ライトヘッド１５Ｗは、ディスク１０上にデータをライトする。例えば、ライトヘッド１５Ｗは、ディスク１０にライトデータに対応する記録磁界を印加してディスク１０を磁化することで、ディスク１０にデータをライトする。リードヘッド１５Ｒは、ディスク１０上のデータトラックに記録されているデータをリードする。例えば、リードヘッド１５Ｒは、ディスク１０の各情報領域の磁化の方向を検出することで、ディスク１０からデータをリードする。
【００１３】
図２及び図３は、熱揺らぎ現象の一例を説明するための模式図である。図２及び図３は、ディスク１０の一部の磁化の状態を示している。図２は、ライトデータをライトした直後のディスク１０の一部の磁化の状態を示している。図３は、図２から所定の時間経過した後のディスク１０の一部の磁化の状態を示している。図２及び図３において、縦軸は、ディスク１０の半径方向を示し、横軸は、ディスク１０の円周方向を示している。換言すると、円周方向は、半径方向に垂直に交差する方向である。図２及び図３では、円周方向は、説明の便宜上、直線状に延びているが、実際には曲線状になっている。図２及び図３には、情報領域ＩＡ１、ＩＡ２、及びＩＡ３を示している。情報領域ＩＡ１、ＩＡ２、及びＩＡ３は、円周方向に連続的に並んでいる。図２及び図３において、情報領域ＩＡ１、ＩＡ２、及びＩＡ３は、異なる円周方向の幅を有しているが、同じ円周方向の幅を有していてもよい。図２及び図３において、無地の楕円形状又は円形状が正の方向に磁化された磁性体粒子ＰＴを示し、斜線の楕円形状又は円形状が負の方向に磁化された磁性体粒子ＮＴを示している。なお、図２及び図３において、磁性体粒子ＰＴ及びＮＴは、楕円形状又は円形状で示しているが、多角形状であってもよいし、楕円、円、及び多角形状以外の形状であってもよい。
【００１４】
図２において、情報領域ＩＡ１は、正の方向に磁化され、情報領域ＩＡ２は、負の方向に磁化され、情報領域ＩＡ３は、正の方向に磁化されている。時間が経過した場合、情報領域ＩＡ１、ＩＡ２、及びＩＡ３の幾つかの磁性体粒子は、熱揺らぎ現象により磁化方向が反転する。熱揺らぎ現象では、情報領域ＩＡ１、ＩＡ２、及びＩＡ３の円周方向の幅の内で内側に位置する磁性体粒子が、円周方向の幅の内で外側に位置する磁性体粒子よりも磁化方向の反転が生じ易い。例えば、図３に示すように、情報領域ＩＡ１、ＩＡ２、及びＩＡ３の幅の中間部の位置する磁性体粒子の磁化方向が、熱揺らぎ現象により顕著に反転する。
【００１５】
図４は、熱揺らぎ現象によるリードデータの再生波形の振幅の変化の一例を示す図である。図４には、ディスク１０にライトするライトデータＷＷＶと、ディスク１０にライトしたライトデータＷＷＶをリードしたリードデータ（以下、ライトデータＷＷＶに対応するリードデータと称する）の熱揺らぎ現象により変化した再生波形の振幅の変化値（以下、単に、変化値と称する）の変化を示すデータ（以下、単に、変化データと称する）ＣＷＶとを示している。図４において、横軸は、時間を示し、縦軸は、データＷＷＶの信号レベルと、変化値とを示している。データＷＷＶの信号レベルの縦軸において、Ｓは正の値を示し、−Ｓは負の値を示す。Ｓと−Ｓとの絶対値は、同じ値である。変化値の縦軸において、Ｃは正の値を示し、−Ｃは負の値を示す。Ｃと−Ｃとの絶対値は、同じ値である。
【００１６】
図４に示した例では、変化データＣＷＶは、熱揺らぎ現象が生じたライトデータＷＷＶに対応するリードデータの再生波形の振幅の絶対値が、熱揺らぎ現象が生じていないライトデータＷＷＶに対応するリードデータの再生波形の振幅の絶対値よりも小さくなることを示している。変化データＣＷＶにおいて、ライトデータＷＷＶが極性反転するタイミングに対応する変化値がほぼ０である。また、変化データＣＷＶにおいて、ライトデータＷＷＶが極性反転するタイミングからライトデータＷＷＶの極性反転の間隔の中間のタイミングに向かって変化値の絶対値が大きくなる。一例では、変化データＣＷＶにおいて、波形ＷＰ４２が極性反転するタイミングＴ４１、Ｔ４３に対応する変化値ＣＶ４１、ＣＶ４３が０である。また、変化データＣＷＶにおいて、波形ＷＰ４２が極性反転するタイミングＴ４１、Ｔ４３から波形ＷＰ４２の極性反転の間隔の中間のタイミングＴ４２に向かって変化値の絶対値が大きくなる。
【００１７】
図４に示した例では、ライトデータＷＷＶにおいて、周波数の小さい波形の極性反転の間隔の中間のタイミングに対応する変化値の絶対値は、周波数の大きい波形の極性反転の間隔の中間のタイミングに対応する変化値の絶対値よりも大きい。一例では、７Ｔの波形ＷＰ４５の極性反転の間隔の中間のタイミングＴ４５に対応する変化値ＣＶ４５は、波形ＷＰ４５よりも大きい周波数である２Ｔの波形ＷＰ４４の極性反転の間隔の中間のタイミングＴ４４に対応する変化値ＣＶ４４よりも大きい。  
【００１８】
このように、熱揺らぎ現象によるリードデータの再生波形の振幅の変化データは、図４に示したような特徴を有する。この特徴は、図３に示した熱揺らぎ現象の性質に起因している。
【００１９】
図５は、熱揺らぎ現象が生じた場合のリードデータの再生波形の一例を示す図である。図５には、熱揺らぎ現象が生じる前にリードしたリードデータの再生波形（以下、基準波形と称する）ＲＷＶ５１と、熱揺らぎ現象が生じた後にリードしたリードデータの再生波形（以下、熱揺らぎ波形と称する）ＲＷＶ５２とを示している。換言すると、基準波形は、熱揺らぎ現象による影響を受けていない再生波形である。図５において、横軸は、時間を示し、縦軸は、再生波形の振幅を示している。縦軸において、Ａ１は正の値を示し、−Ａ１は負の値を示す。Ａ１と−Ａ１との絶対値は、同じ値である。図５において、再生波形ＲＷＶ５１は、例えば、ディスク１０にライトした図４のライトデータＷＷＶをリードしたリードデータの再生波形である。また、再生波形ＲＷＶ５２は、再生波形ＲＷＶ５１のリードデータに熱揺らぎ現象が生じた場合の再生波形に相当する。図５に示した例では、基準波形ＲＷＶ５１と熱揺らぎ波形ＲＷＶ５２とを比較すると、熱揺らぎ波形ＲＷＶ５２の一部の振幅の絶対値が基準波形ＲＷＶ５１の一部の振幅の絶対値よりも小さい。
【００２０】
基準波形ＲＷＶ５１と熱揺らぎ波形ＲＷＶ５２との差分値（以下、単に、差分値と称する）の変化を示すデータ（以下、差分データと称する）は、前述した変化データに基づいて算出できる。したがって、変化データの所定のタイミングの差分値は、このタイミングにおける熱揺らぎ現象による再生波形の変化値に基づいて算出できる。一例では、基準波形ＲＷＶ５１のタイミングＴ５１の振幅Ａ５１１と熱揺らぎ波形ＲＷＶ５２のタイミングＴ５１の振幅Ａ５１２との差分値ＤＦ５は、基準波形ＲＷＶ５１のタイミングＴ５１に対応する変化値に基づいて算出できる。具体的には、差分値ＤＦ５は、基準波形ＲＷＶ５１のタイミングＴ５１に対応する変化値を孤立再生波形の飽和レベル（又は、振幅レベル）として畳み込んで算出できる。例えば、タイミングＴ５１は、振幅Ａ５１１の波形が対応するライトデータＷＷＶの波形の極性反転の間隔の中間のタイミングに対応している。前述したことから、熱揺らぎ波形は、基準波形と差分データとに基づいて算出できる。換言すると、基準波形は、差分データと熱揺らぎ波形とに基づいて算出できる。つまり、差分値を使用して熱揺らぎ波形を調整することで基準波形を算出できる。
【００２１】
ドライバＩＣ２０は、システムコントローラ１３０（詳細には、後述するＭＰＵ３０）の制御に従って、ＳＰＭ１２およびＶＣＭ１４の駆動を制御する。  
【００２２】
ヘッドアンプＩＣ３０は、リードアンプ及びライトドライバを備えている。リードアンプは、ディスク１０からリードされたリード信号を増幅して、システムコントローラ１３０（詳細には、後述するリード／ライト（Ｒ／Ｗ）チャネル６０）に出力する。ライトドライバは、Ｒ／Ｗチャネル６０から出力されるライトデータに応じたライト電流をヘッド１５に出力する。
【００２３】
揮発性メモリ７０は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ７０は、磁気ディスク装置１の各部での処理に必要なデータ等を格納する。揮発性メモリ７０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、又はＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。  
【００２４】
バッファメモリ８０は、磁気ディスク装置１とホスト１００との間で送受信されるデータ等を一時的に記憶する半導体メモリである。なお、バッファメモリ８０は、揮発性メモリ７０と一体に構成されていてもよい。バッファメモリ８０は、例えば、ＤＲＡＭ、ＳＲＡＭ（Static Random Access Memory）、ＳＤＲＡＭ、ＦｅＲＡＭ（Ferroelectric Random Access memory）、又はＭＲＡＭ（Magnetoresistive Random Access Memory）等である。
【００２５】
不揮発性メモリ９０は、電力供給が断たれても保存しているデータを記憶する半導体メモリである。不揮発性メモリ９０は、例えば、ＮＯＲ型またはＮＡＮＤ型のフラッシュＲＯＭ（Flash Read Only Memory :ＦＲＯＭ）である。
【００２６】
システムコントローラ（コントローラ）１３０は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(ＳｏＣ)と称される大規模集積回路（ＬＳＩ）を用いて実現される。システムコントローラ１３０は、マイクロプロセッサ（ＭＰＵ）４０と、ハードディスクコントローラ（ＨＤＣ）５０と、リード／ライト（Ｒ／Ｗ）チャネル６０と、を含む。システムコントローラ１３０は、ドライバＩＣ２０、ヘッドアンプＩＣ３０、揮発性メモリ７０、バッファメモリ８０、不揮発性メモリ９０、及びホストシステム１００に電気的に接続されている。
【００２７】
ＭＰＵ４０は、磁気ディスク装置１の各部を制御するメインコントローラである。ＭＰＵ４０は、ドライバＩＣ２０を介してＶＣＭ１４を制御し、ヘッド１５の位置決めを行なうサーボ制御を実行する。また、ＭＰＵ４０は、ディスク１０へのデータのライト動作を制御すると共に、ホスト１００から転送されるライトデータの保存先を選択する。ＭＰＵ３０は、ファームウェアに基づいて処理を実行する。ＭＰＵ４０は、磁気ディスク装置１の各部に接続されている。例えば、ＭＰＵ４０は、ＨＤＣ５０、及びＲ／Ｗチャネル６０に電気的に接続され、これらの処理を制御する。
【００２８】
ＨＤＣ５０は、ＭＰＵ４０からの指示に応じて、ホスト１００とＲ／Ｗチャネル６０との間のデータ転送を制御する。ＨＤＣ５０は、ＭＰＵ４０、Ｒ／Ｗチャネル６０、揮発性メモリ７０、バッファメモリ８０、不揮発性メモリ９０、及びホストシステム１００に電気的に接続されている。  
【００２９】
Ｒ／Ｗチャネル６０は、ＭＰＵ４０からの指示に応じて、リードデータ及びライトデータの信号処理を実行する。Ｒ／Ｗチャネル６０は、ディスク１０からリードされたリードデータの信号品質を測定する回路、又は機能を有している。Ｒ／Ｗチャネル６０は、ヘッドアンプＩＣ３０、ＭＰＵ４０、及びＨＤＣ５０に電気的に接続されている。
【００３０】
以下で、ヘッド１５、ヘッドアンプＩＣ３０、及びコントローラ１３０において、ディスク１０からリードしたリードデータをホスト１００に転送する系をリード系と称する。  
【００３１】
図６は、実施形態に係るＲ／Ｗチャネル６０のリード系の構成例を示すブロック図である。  
【００３２】
Ｒ／Ｗチャネル６０は、リード系として、コンバータ６０１と、熱揺らぎ処理部６０２と、適応フィルタ６０３、６０４と、合成部６０５と、ビダビ復号部６０６と、比較部６０７と、ＬＤＰＣ（Low Density Parity Check）部６０８とを備えている。
【００３３】
コンバータ６０１は、ヘッドアンプＩＣ３０から入力されたリードデータを変換し、変換したデータを熱揺らぎ処理部６０２及び適応フィルタ６０４に出力する。例えば、コンバータ６０１は、ヘッドアンプＩＣ３０から入力されたアナログデータをデジタルデータに変換するＡＤ（アナログ−デジタル）コンバータである。
【００３４】
熱揺らぎ処理部６０２は、コンバータ６０１から入力されたリードデータの熱揺らぎ波形を基準波形、又は基準波形に近似した波形に調整するための調整データを生成し、生成した調整データを適応フィルタ６０３に出力する。調整データは、各タイミングで熱揺らぎ波形の振幅を基準波形又は基準波形に近似した波形に調整するための調整値の変化を示すデータであり、前述した差分データに相当する。つまり、調整値は、前述した差分値に相当する。例えば、始めに、熱揺らぎ処理部６０２は、コンバータ６０１から入力された熱揺らぎ現象が生じたリードデータからこのリードデータをディスク１０にライトしたときのライトデータに対応するデータ（以下、予測データと称する）を生成する。次に、熱揺らぎ処理部６０２は、予測データに基づいて前述した変化データを推定したデータ（以下、推定データと称する）を生成する。なお、以下で推定データを変化データと称する場合もある。そして、熱揺らぎ処理部６０２は、推定データに基づいて調整データを生成し、適応フィルタ６０３に出力する。一例では、熱揺らぎ処理部６０２は、予測データの極性反転の間隔の中間のタイミングに対応する推定データを孤立再生波形の飽和レベルとして畳み込み処理を実行することで調整データを生成し、適応フィルタ６０３に出力する。熱揺らぎ処理部６０２の詳細については、後述する。
【００３５】
適応フィルタ６０３は、熱揺らぎ処理部６０２から入力された調整データの波形を等化し、合成部６０５に出力する。適応フィルタ６０３は、例えば、ＦＩＲ（Finite impulse response）フィルタである。適応フィルタ６０３は、調整データの波形を等化する際に使用するフィルタ係数、例えば、タップ数をＬＭＳ（Least mean square）アルゴリズムによって最適化する。適応フィルタ６０３は、例えば、後述する比較部６０７からの信号が最小になるようにタップ数を調整する。  
【００３６】
適応フィルタ６０４は、コンバータ６０１から入力されたリードデータの再生波形を等化し、合成部６０５に出力する。適応フィルタ６０４は、例えば、ＦＩＲフィルタである。適応フィルタ６０４は、リードデータの波形を等化する際に使用するフィルタ係数、例えば、タップ数をＬＭＳアルゴリズムによって最適化する。適応フィルタ６０４は、例えば、後述する比較部６０７からの信号が最小になるようにタップ数を調整する。
【００３７】
合成部６０５は、適応フィルタ６０３から入力された調整データと適応フィルタ６０４から入力されたリードデータとを合成し、合成したデータ（以下、補正データと称する）をビダビ復号部６０６及び比較部６０７に出力する。つまり、補正データは、熱揺らぎ現象による影響を軽減されたリードデータである。例えば、合成部６０５は、ＦＩＲフィルタ６０３から入力された調整データを適応フィルタ６０４から入力されたリードデータの熱揺らぎ波形に加算して補正データを生成し、生成した補正データをビダビ復号部６０６及び比較部６０７に出力する。
【００３８】
ビダビ復号部６０６は、合成部６０５から入力された補正データにビダビ復号化処理を実行し、ビダビ復号化処理を実行した補正データをＬＤＰＣ部６０８に出力する。また、ビダビ復号部６０６は、ビダビ復号化処理を実行した補正データに再構築（reconstruction）処理を実行した再構築データを比較部６０７に出力する。
【００３９】
比較部６０７は、合成部６０５から入力された補正データとビダビ復号部６０６から入力された再構築データとの誤差ｅ１を算出し、算出した誤差ｅ１を適応フィルタ６０３及び適応フィルタ６０４に出力する。例えば、誤差ｅ１は、平均二乗誤差である。
【００４０】
ＬＤＰＣ部６０８は、ビダビ復号部６０６から入力された補正データにＬＤＰＣ復号化処理を実行し、ＬＤＰＣ復号化処理を実行した補正データをＨＤＣ５０に出力する。また、ＬＤＰＣ部６０８は、ＬＤＰＣ復号化処理において補正データがＬＤＰＣ検査行列式でエラーと判定されていないかエラーと判定されているかを示す情報を熱揺らぎ処理部６０２に出力する。
【００４１】
図７は、本実施形態に係る熱揺らぎ処理部６０２の構成例を示すブロック図である。  
【００４２】
熱揺らぎ処理部６０２は、適応フィルタ６２１と、ビダビ復号部６２２と、比較部６２３と、反転部６２４と、生成部６２５と、クリップ（Clip）部６２６とを備えている。熱揺らぎ処理部６０２は、これらの構成により、熱揺らぎ現象によるリードデータの変化の調整精度を向上することができる。
【００４３】
適応フィルタ６２１は、コンバータ６０１から入力されたリードデータの波形を等化し、ビダビ復号部６２２に出力する。適応フィルタ６２１は、例えば、ＦＩＲフィルタである。適応フィルタ６２１は、リードデータの再生波形を等化する際に使用するフィルタ係数、例えば、タップ数をＬＭＳアルゴリズムによって最適化する。適応フィルタ６２１は、例えば、後述する比較部６２３からの信号が最小になるようにタップ数を調整する。
【００４４】
ビダビ復号部６２２は、適応フィルタ６２１から入力されたリードデータにビダビ復号化処理を実行して予測データ及び信頼性情報、例えば、対数尤度比（Log likelihood ratio : LLR）を生成し、生成した予測データ及び信頼性情報を反転部６２４に出力する。例えば、ビダビ復号部６２２は、適応フィルタ６２１から入力されたリードデータに硬判定処理を実行して１及び０系列で示される予測データ及び信頼性情報を生成し、生成した予測データ及び信頼性情報を反転部６２４に出力する。また、ビダビ復号部６２２は、生成した予測データに再構築処理を実行した再構築データを比較部６２３に出力する。
【００４５】
比較部６２３は、適応フィルタ６２１から入力されたリードデータとビダビ復号部６２２から入力された再構築データとの誤差ｅ２を算出し、算出した誤差ｅ２を適応フィルタ６２１に出力する。例えば、誤差ｅ２は、平均二乗誤差である。
【００４６】
反転部６２４は、ビダビ復号部６２２から予測データ及びこの予測データの信頼性情報が入力され、入力された信頼性情報に基づいて予測データの信頼性の低いビットパターンを極性反転し、信頼性の低いビットパターンを極性反転した予測データを生成部６２５に出力する。ここで、信頼性の低いビットパターンは、エラーが生じている可能性が高いビットパターンであり、例えば、２つ低周波数の波形を形成するビットパターン（以下、低周波パターンと称する）の間に位置する高周波数の波形を形成するビットパターン（以下、高周波パターンと称する）である。高周波パターンは、例えば、１Ｔのビットパターンである。また、低周波パターンは、高周波パターン、例えば、１Ｔのよりも低い周波数の波形のビットパターンである。
【００４７】
図８は、本実施形態に係る反転部６２４の処理の一例を説明するための図である。図８は、例えば、ビダビ復号部６２２から出力された予測データの再生波形の一例を示している。図８には、ビダビ復号化処理による誤差を含まない熱揺らぎ波形ＷＶ８１と、ビダビ復号化処理による誤差を含む熱揺らぎ波形ＷＶ８２とを示している。図８において、縦軸は、再生波形の振幅を示し、横軸は、時間を示している。縦軸において、Ａ２は正の値を示し、−Ａ２は負の値を示す。Ａ２と−Ａ２との絶対値は、同じ値である。図８において、熱揺らぎ波形ＷＶ８２は、熱揺らぎ波形ＷＶ８１にビダビ復号化処理による誤差が生じた場合の再生波形である。熱揺らぎ波形ＷＶ８１と熱揺らぎ波形ＷＶ８２とは、ほぼ同じ波形であるが、一部の波形が異なっている。一例では、熱揺らぎ波形ＷＶ８１の波形Ｗ８１１と波形Ｗ８１１に対応する熱揺らぎ波形ＷＶ８２の波形Ｗ８２０、Ｗ８２１及びＷ８２２とは、異なっている。極性反転した波形Ｗ８２１と波形Ｗ８２０及びＷ８２２とは、波形Ｗ８１１に一致する。熱揺らぎ波形ＷＶ８２において、波形Ｗ８２１は、高周波数、例えば、１Ｔの波形であり、波形Ｗ８２０及び波形Ｗ８２２は、波形Ｗ８２１よりも低周波数、例えば、４Ｔの波形である。
【００４８】
図８に示した例では、反転部６２４は、ビダビ復号部６２２から入力された予測データから高周波パターン、例えば、１Ｔの波形Ｗ８２１のビットパターンを検出する。例えば、反転部６２４は、波形Ｗ８２１のビットパターンのランレングス（Run length）の情報を取得し、波形Ｗ８２１のビットパターンが高周波パターンか高周波パターンでないかを判定してもよい。反転部６２４は、検出した波形Ｗ８２１のビットパターンの直前にある波形８２０のビットパターン及び直後にある波形Ｗ８２２のビットパターンのランレングスの情報を取得し、波形Ｗ８２１のビットパターンを極性反転の対象とするかどうかを判定する。例えば、反転部６２４は、波形８２０のビットパターン及び波形Ｗ８２２のビットパターンのランレングスが波形Ｗ８２１のビットパターンのランレングスよりも大きい場合に波形Ｗ８２１のビットパターンを極性反転の対象とする。換言すると、反転部６２４は、高周波数の波形Ｗ８２１のビットパターンの直前及び直後に低周波数の波形８２０及び波形８２２のビットパターンがある場合に、高周波数の波形Ｗ８２１のビットパターンを極性反転の対象にする。また、反転部６２４は、波形８２０及び波形Ｗ８２２のビットパターンのランレングスが所定のランレングス以上である場合に波形Ｗ８２１のビットパターンを極性反転の対象としてもよい。換言すると、反転部６２４は、波形８２０のビットパターンと波形８２２のビットパターンとが所定のランレングス以上である低周波パターンである場合に波形Ｗ８２１のビットパターンを極性反転の対象としてもよい。反転部６２４は、波形Ｗ８２１のビットパターンを極性反転の対象とすると判定した場合、波形Ｗ８２１のビットパターンの信頼性情報が閾値（以下、第１閾値と称する）より小さいか第１閾値以下であるかを判定する。第１閾値は、ビットパターンの正確さを示す特定の値であり、例えば、特定の尤度である。ビットパターンが第１閾値よりも小さいと判定した場合、反転部６２４は、波形Ｗ８２１のビットパターンを極性反転する。反転部６２４は、予測データの信頼性の低い、例えば、対数尤度比の小さいビットパターンに前述した極性反転の処理を繰り返し実行し、極性反転の処理を実行した予測データを生成部６２５に出力する。反転部６２４は、第１閾値を保持していてもよいし、メモリ、例えば、不揮発性メモリ９０等から取得してもよい。また、反転部６２４は、ＬＤＰＣ部６０８から波形Ｗ８２１のビットパターンに対応する補正データのビットパターンがＬＤＰＣ検査行列式でエラーと判定されていないかエラーと判定されているかを示す情報を取得し、波形Ｗ８２１のビットパターンに対応する補正データのビットパターンがＬＤＰＣの検査行列式でエラーと判定されていないかエラーと判定されているかを判定する。エラーと判定されていると判定した場合、反転部６２４は、予測データの信頼性の低い、例えば、対数尤度比の小さいビットパターンを極性反転する処理を制限する。
【００４９】
生成部６２５は、反転部６２４から入力された予測データに基づいて推定データを生成し、生成した推定データに基づいて調整データを生成し、生成した調整データをクリップ部６２６に出力する。一例では、生成部６２５は、図４で示した変化データ（推定データ）の特徴を表す式と予測データとに基づいて推定データを生成する。すなわち、生成部６２５は、予測データの極性反転するタイミングから予測データの極性反転の間隔の中間のタイミングに向かって推定データの絶対値が大きくなり、且つ予測データの特定の周波数（第１周波数）の波形の極性反転の間隔の中間のタイミングの推定データよりも予測データの第１周波数よりも小さい周波数（第２周波数）の波形の極性反転の間隔の中間のタイミングの推定データが大きくなる特徴を表す式と予測データとに基づいて推定データを生成する。また、生成部６２５は、例えば、予測データの極性反転の間隔の中間のタイミングに対応する推定データを孤立再生波形の飽和レベルとして畳み込み処理を実行することで調整データを生成し、クリップ部６２６に出力する。生成部６２５は、畳み込み処理を実行する際に畳み込みを実行する波形干渉の範囲を変更できる。
【００５０】
クリップ部６２６は、生成部６２５から入力された調整データが閾値（以下、第２閾値と称する）よりも大きいか第２閾値以下であるかを判定し、調整データが第２閾値よりも大きいと判定した場合、調整データをクリップし（切り取り）、クリップした調整データを適応フィルタ６０３に出力する。第２閾値は、例えば、特定の振幅である。クリップ部６２６は、第２閾値を保持していてもよいし、メモリ、例えば、不揮発性メモリ９０等から取得してもよい。例えば、クリップ部６２６は、調整データの所定の波形の振幅が第２閾値よりも大きいと判定した場合、調整データの所定の波形の振幅を第２閾値になるようにクリップし、所定の波形の振幅をクリップした調整データを適応フィルタ６０３に出力する。
【００５１】
図９は、本実施形態に係る熱揺らぎ処理の一例を示すフローチャートである。  
【００５２】
コントローラ１３０は、熱揺らぎ現象が生じたリードデータに基づいて予測データを生成する（Ｂ９０１）。コントローラ１３０は、予測データに高周波パターン（高周波数の波形のビットパターン）、例えば、１Ｔのデータパターンがあるかないかを判定する（Ｂ９０２）。高周波パターンがないと判定した場合（Ｂ９０２のＮＯ）、コントローラ１３０は、Ｂ９０７の処理へ進む。高周波パターンがあると判定した場合（Ｂ９０２のＹＥＳ）、コントローラ１３０は、高周波パターンの直前及び直後に低周波パターン（低周波数の波形のビットパターン）があるかないかを判定する（Ｂ９０３）。例えば、コントローラ１３０は、高周波パターンの直前の波形のビットパターンのランレングスの情報と直後の波形のビットパターンのランレングスの情報とを取得し、高周波パターンの直前及び直後の波形のビットパターンが低周波パターンあるか低周波パターンないかを判定する。低周波パターンがないと判定した場合（Ｂ９０３のＮＯ）、コントローラ１３０は、Ｂ９０７の処理へ進む。低周波パターンがある（低周波数の波形のビットパターンがある）と判定した場合（Ｂ９０３のＹＥＳ）、コントローラ１３０は、高周波パターンの信頼性情報、例えば、対数尤度比が第１閾値よりも小さいか第１閾値以上であるかを判定する（Ｂ９０４）。高周波パターンの信頼性情報が第１閾値以上であると判定した場合（Ｂ９０４のＮＯ）、コントローラ１３０は、Ｂ９０７の処理に進む。高周波パターンの信頼性情報が第１閾値よりも小さいと判定した場合（Ｂ９０４のＹＥＳ）、コントローラ１３０は、ＬＤＰＣ部６０８で高周波パターンに対応する補正データのビットパターンがＬＤＰＣの検査行列式でエラーと判定されていないかエラーと判定されているかを判定する（Ｂ９０５）。例えば、コントローラ１３０は、ＬＤＰＣ部６０８において、１つ前に極性反転した高周波パターンに対応する補正データのビットパターンがＬＤＰＣの検査行列式でエラーと判定されていないかエラーと判定されているかを判定する。エラーと判定されていると判定した場合（Ｂ９０５のＮＯ）コントローラ１３０は、Ｂ９０７の処理に進む。エラーと判定されていないと判定した場合（Ｂ９０５のＹＥＳ）、コントローラ１３０は、予測データの信頼性の低い高周波数の波形のビットパターンを極性反転する（Ｂ９０６）。コントローラ１３０は、予測データに基づいて推定データを生成する（Ｂ９０７）。コントローラ１３０は、生成した推定データに基づいて調整データを生成する（Ｂ９０８）。コントローラ１３０は、調整データの所定の波形が第２閾値よりも大きいか第２閾値以下であるかを判定する（Ｂ９０９）。第２閾値以下であると判定した場合（Ｂ９０９のＮＯ）、コントローラ１３０は、Ｂ９１０の処理へ進む。第２閾値よりも大きいと判定した場合（Ｂ９０９のＹＥＳ）、コントローラ１３０は、調整データの所定の波形が第２閾値になるようにクリップする（Ｂ９１０）。コントローラ１３０は、生成した調整データを使用してリードデータの熱揺らぎ波形を調整し（Ｂ９１１）、処理を終了する。
【００５３】
図１０は、本実施形態に係る熱揺らぎ処理を実行するタイミングの一例を示すフローチャートである。  
【００５４】
コントローラ１３０は、ホスト１００からリードコマンドを受ける（Ｂ１００１）。コントローラ１３０は、リードエラーが生じているか生じていないかを判定する（Ｂ１００２）。リードエラーが生じていないと判定した場合（Ｂ１００２のＮＯ）、コントローラ１３０は、処理を終了する。リードエラーが生じていると判定した場合（Ｂ１００２のＹＥＳ）、コントローラ１３０は、前述した熱揺らぎ処理部６０２等による熱揺らぎ処理を実行する（Ｂ１００３）。コントローラ１３０は、ホスト１００からリードコマンドを受ける（Ｂ１００４）。コントローラ１３０は、リードエラーが生じているか生じていないかを判定する（Ｂ１００５）。リードエラーが生じていないと判定した場合（Ｂ１００５のＮＯ）、コントローラ１３０は、処理を終了する。リードエラーが生じていると判定した場合（Ｂ１００５のＹＥＳ）、コントローラ１３０は、他の処理を実行する。他の処理は、例えば、ディスク１０にライトしたデータをディスク１０の同じ位置に書き直すリフレッシュ処理等である。
【００５５】
本実施形態によれば、磁気ディスク装置１は、熱揺らぎ処理部６０２を有している。磁気ディスク装置１は、熱揺らぎ処理部６０２によりディスク１０からリードした熱揺らぎ現象が生じたリードデータに基づいて予測データを生成する。また、磁気ディスク装置１は、予測データに基づいて推定データを生成し、推定データに基づいて調整データを生成する。磁気ディスク装置１は、調整データを使用して熱揺らぎ現象が生じたリードデータを熱揺らぎ現象が生じていないリードデータ、又は熱揺らぎ現象が生じていないリードデータに近いデータを生成できる。つまり、磁気ディスク装置１は、熱揺らぎ処理部６０２で生成した調整データを使用してリードデータを調整することでリードデータに生じた熱揺らぎ現象の影響を軽減又は解消することができる。そのため、磁気ディスク装置１は、リードしたデータの信頼性が向上する。
【００５６】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５７】
１…磁気ディスク装置、１０…磁気ディスク、１０ａ…記録領域、１０ｂ…システムエリア、１２…スピンドルモータ（ＳＰＭ）、１３…アーム、１４…ボイスコイルモータ（ＶＣＭ）、１５…ヘッド、１５Ｗ…ライトヘッド、１５Ｒ…リードヘッド、２０…ドライバＩＣ、３０…ヘッドアンプＩＣ、４０…（ＨＤＣ）マイクロプロセッサ（ＭＰＵ）、５０…ハードディスクコントローラ、６０…リード／ライト（Ｒ／Ｗ）チャネル、７０…揮発性メモリ、８０…バッファメモリ、９０…不揮発性メモリ、１００…ホストシステム（ホスト）、１３０…システムコントローラ。
【図１】
2019067473.tif 000003
【図２】
2019067473.tif 000004
【図３】
2019067473.tif 000005
【図４】
2019067473.tif 000006
【図５】
2019067473.tif 000007
【図６】
2019067473.tif 000008
【図７】
2019067473.tif 000009
【図８】
2019067473.tif 000010
【図９】
2019067473.tif 000011
【図１０】
2019067473.tif 000012