(57)【要約】【課題】ライト・リトライ処理が生じてもトラック単位のエラー訂正処理用のパリティ・セクタの計算のやり直しを不要とする。【解決手段】実施形態によれば、磁気ディスク装置は、磁気ディスクに書き込む予定のライト・データをバッファメモリに入力し、セクタ単位でパリティ・バッファの制御信号、ライト・ゲート、論理セクタ番号によるシード値を生成する。一方、ライト・データをセクタ単位で取り込んでスクランブルをかけ、ライト・ゲートに従って磁気ディスクの所定のトラックのセクタに順次書き込み、パリティ・バッファの制御信号により所定のトラックのパリティ演算を開始し、スクランブル処理の出力とパリティ・バッファの出力との排他的論理和を演算してパリティ・バッファで一時的に保存し、所定のトラックの書込み完了時に一時保持されているパリティ演算結果を磁気ディスクのパリティ・セクタに書き込む。【選択図】図２
2019153367.tif 000002
【特許請求の範囲】
【請求項１】
データの書込み・読出しが行われる磁気ディスクと、
前記磁気ディスクに書き込む予定のライト・データをバッファメモリに入力して、前記磁気ディスクのセクタ単位でパリティ・バッファの制御信号、ライト・ゲート、論理セクタ番号または論理ブロックアドレスによるシード値を生成する制御器と、
前記ライト・データをセクタ単位で取り込み、前記シード値に従いデータ列をメディア上でライトリードが行いやすいデータ列にするスクランブル処理を行い、前記ライト・ゲートに従って前記磁気ディスクの所定のトラックのセクタに順次書き込み、前記パリティ・バッファの制御信号により前記所定のトラックのパリティ演算を開始し、前記スクランブル処理の出力と前記パリティ・バッファの出力との排他的論理和を演算して前記パリティ・バッファで一時的に保存し、前記所定のトラックの書込み完了時に一時保持されているパリティ演算結果を前記磁気ディスクのパリティ・セクタに書き込むリード・チャネルと
を具備する磁気ディスク装置。
【請求項２】
前記制御器は、ライト・エラーの発生までに演算されたパリティを保持させる更新マスクの制御信号を生成し、
前記リード・チャネルは、前記更新マスクの制御信号を受け取ってその更新マスクの制御信号によって指定される期間はパリティの更新を停止する
請求項１記載の磁気ディスク装置。
【請求項３】
前記制御器は、前記ライト・エラーが生じて前記ライト・エラーが生じたセクタが欠陥セクタとして登録されたとき、前記論理セクタ番号または論理ブロックアドレスによるシード値を継続させて前記欠陥セクタとして登録されたセクタの次のセクタに書き込むときのデータ列が欠陥セクタ登録前のときと同一となるようにした請求項１記載の磁気ディスク装置。
【請求項４】
シングル磁気記録型に採用される請求項３記載の磁気ディスク装置。
【請求項５】
磁気ディスクに対してデータの書込み・読み出しを行う磁気ディスク装置の記録方法において、
前記磁気ディスクに書き込む予定のライト・データをバッファメモリに入力して、前記磁気ディスクのセクタ単位でパリティ・バッファの制御信号、ライト・ゲート、論理セクタ番号または論理ブロックアドレスによるシード値を生成し、
前記ライト・データをセクタ単位で取り込み、前記シード値に従いデータ列をメディア上でライトリードが行いやすいデータ列にするスクランブル処理を行い、前記ライト・ゲートに従って前記磁気ディスクの所定のトラックのセクタに順次書き込み、
前記パリティ・バッファの制御信号により前記所定のトラックのパリティ演算を開始し、前記スクランブル処理の出力と前記パリティ・バッファの出力との排他的論理和を演算して前記パリティ・バッファで一時的に保存し、前記所定のトラックの書込み完了時に一時保持されているパリティ演算結果を前記磁気ディスクのパリティ・セクタに書き込む
磁気ディスク装置の記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、磁気ディスク装置および記録方法に関する。
【背景技術】
【０００２】
ＳＭＲ（Shingled Magnetic Recording：シングル磁気記録）型の磁気ディスク装置（以下、ＳＭＲ機）にあっては、ライト・リトライ前後でリトライ対象の書込みセクタ位置が異なることを特徴としている。これは複数回の書き直しで隣接トラックに影響を与えないようにするためで、リトライ時に、ライト・エラーが発生したセクタを欠陥セクタとして扱うことにより実現している。
【０００３】
一方、ＳＭＲ機では、エラー訂正方法としてトラック単位のエラー訂正処理の採用を予定している。このトラック単位のエラー訂正処理は、トラックの先頭から書込みデータのＸＯＲ（Exclusive OR：排他的論理和）演算を行ってトラック単位のパリティ情報を生成し、このパリティ情報を所定のセクタに記録する、いわゆるパリティ・セクタを生成する方法である。
【０００４】
ここで、トラック単位のエラー訂正処理では、パリティ情報が１／０に偏らないように、セクタ毎に異なるシード値でスクランブルをかける。この場合、一般には物理セクタ番号をスクランブルのシード値とする。ところが、ＳＭＲ機のようにライト・リトライによってメディア上のセクタ位置が変わった場合には、同一データでもスクランブルのシード値に違いが発生し、パリティ情報が異なる値になってしまう。このため、ライト・リトライが生じた場合には、トラックの先頭からパリティ・セクタの計算をやり直さなければならない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９７７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この発明の実施形態の課題は、ライト・リトライ処理が生じてもトラック単位のエラー訂正処理用のパリティ・セクタの計算のやり直しが不要な磁気ディスク装置および記録方法を提供することにある。
【課題を解決するための手段】
【０００７】
実施形態によれば、磁気ディスク装置は、磁気ディスクと、制御器とリード・チャネルとを備える。磁気ディスクは、データの書込み・読出しが行われる。制御器は、前記磁気ディスクに書き込む予定のライト・データをバッファメモリに入力して、前記磁気ディスクのセクタ単位でパリティ・バッファの制御信号、ライト・ゲート、論理セクタ番号または論理ブロックアドレスによるシード値を生成する。リード・チャネルは、前記ライト・データをセクタ単位で取り込み、前記シード値に従いデータ列をメディア上でライト・リードが行いやすいデータ列にするスクランブル処理を行い、前記ライト・ゲートに従って前記磁気ディスクの所定のトラックのセクタに順次書き込み、前記パリティ・バッファの制御信号により前記所定のトラックのパリティ演算を開始し、前記スクランブル処理の出力と前記パリティ・バッファの出力との排他的論理和を演算して前記パリティ・バッファで一時的に保存し、前記所定のトラックの書込み完了時に一時保持されているパリティ演算結果を前記磁気ディスクのパリティ・セクタに書き込む。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る磁気ディスク装置を概略的に示すブロック図。
【図２】図２は、実施形態において、パリティ・セクタを生成する処理の流れを示すフローチャート。
【図３】図３は、実施形態において、書込みエラー発生時の書込み制御の様子を示すタイムチャート。
【図４】図４は、実施形態において、物理セクタ番号をスクランブルのシード値とした場合の、書込みエラー発生時の書込み制御の様子を示すタイムチャート。
【図５】図５は、実施形態において、論理セクタ番号をスクランブルのシード値とした場合の、書込みエラー発生時の書込み制御の様子を示すタイムチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、実施形態について説明する。  
【００１０】
なお、開示はあくまで一例にすぎず、当業者において、発明の主旨を保っての適宜変更であって容易に想到し得るものについては、当然に本発明の範囲に含有されるものである。また、図面は説明をより明確にするため、実際の態様に比べ、各部の幅、厚さ、形状等について模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。また、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して、詳細な説明を適宜省略することがある。
【００１１】
（実施形態）
図１は、実施形態に係るＳＭＲ型の磁気ディスク装置（ＨＤＤ）を概略的に示すブロック図である。図１に示すＨＤＤは、記録媒体の磁気ディスクであるメディア１０と、メディア１０のデータ書込み・読み出しを制御するコントローラ２０とを備える。コントローラ２０は、ＨＤＣ（Hard Disk Controller：ハードディスク制御部）２１、ＲＤＣ（Read Channel：リード・チャネル）２２を備える。
【００１２】
上記ＨＤＣ２１は、詳細は図示しないが、バッファメモリ、バッファ制御回路、キャッシュ制御回路、インターフェース制御回路、サーボ回路等を備え、ディスクに書き込まれる予定の、ホスト・コントローラから受信した書込みデータをバッファメモリに入力し、セクタ単位のパリティ・バッファの制御信号（パリティ・バッファのリセットやパリティ・バッファのセレクタ等）、ライト・ゲート、論理セクタ番号によるシード値を生成する。
【００１３】
上記ＲＤＣ２２は、スクランブラ２２１、ＸＯＲ回路２２２、パリティ・バッファ２２３、ゲート回路２２４を備える。また、詳細は図示しないが、エラー訂正用の符号化と、復号化の回路を有する。スクランブラ２２１は、ＨＤＣ２１から与えられる書込みデータをセクタ単位で取り込み、ＨＤＣ２１から与えられるシード値に従ってスクランブルをかける。そのスクランブル出力はゲート回路２２４を介してメディア１０に送られ、所定のトラックのセクタに順次書き込まれる。ＸＯＲ回路２２２は、スクランブル出力とパリティ・バッファ２２３の出力との排他的論理和を演算する。その演算結果はパリティ・バッファ２２３に保存される。パリティ・バッファ２２３は、ＸＯＲ出力を順次一時保存して、トラック内の書込み完了時のパリティ情報を出力する。このパリティ情報はゲート回路２２４を介してメディア１０に送られ、パリティ・セクタに書き込まれる。また、パリティ・バッファ２２３は、ＨＤＣ２１から与えられる更新マスクの制御信号を受け取り、その更新マスクの制御信号によって指定される期間はパリティの更新を停止する。
【００１４】
上記構成において、図２乃至図５を参照して、ＨＤＣ２１の制御によるトラック単位のエラー訂正処理動作を説明する。
【００１５】
図２は上記ＨＤＣ２１の制御動作を示し、図３は書込みエラー発生時の書込み制御の様子を示し、図４は物理セクタ番号をスクランブルのシード値とした場合の、書込みエラー発生時の書込み制御の様子を示し、図５は論理セクタ番号をスクランブルのシード値とした場合の、書込みエラー発生時の書込み制御の様子を示している。
【００１６】
図２において、上記ＨＤＣ２１は、書込みデータに伴い（ステップＳ１）、セクタ単位でパリティ・バッファの制御信号（パリティ・バッファのリセットやパリティ・バッファのセレクタ等）、ライト・ゲート、論理セクタ番号によるシード値を生成し、ＲＤＣ２２に出力する（ステップＳ２）。ここで、セクタデータの書込み処理で書込みエラーを監視し（ステップＳ３）、書込みエラーが生じなければ、セクタデータの書込みが完了したか判断し（ステップＳ４）、セクタデータの書込みが完了した場合には、パリティ・セクタの生成を指示する（ステップＳ５）。ここで書込みデータが残っているか判断し（ステップＳ６）、残っている場合にはステップＳ２に戻って次のセクタの処理を行い、書込みが完了した場合には続けてパリティバッファデータの書き込みを行って（ステップＳ７）、一連の処理を終了する。
【００１７】
上記ステップＳ３で書込みエラーの発生が検出された場合、書込みエラーが生じたセクタを欠陥セクタとして登録をしてそのセクタの書き込みをスリップさせ（ステップＳ７）、書込みエラーが生じるまでのパリティ更新を維持するようにパリティ・バッファ２２３に更新マスクの制御信号を出力する（ステップＳ８）。
【００１８】
上記ＨＤＣ２１の制御処理について、図３乃至図５に具体例を挙げて説明する。図３乃至図５において、「’」はライトデータに対してスクランブル処理を行った後のデータを示す。「”」はスクランブル処理を行ったデータが「’」のデータと異なることを表す。
【００１９】
まず、ＨＤＣ２１が、ライト・データ、シード・データ、ライト・ゲート、パリティ・リセットを、それぞれ図３（ａ），（ｂ），（ｃ），（ｄ）に示すタイミングで出力している状態では、パリティ・バッファ２２３では図３（ｅ）に示すようにパリティを更新していく。このとき、図３（ｆ）に示すようにセクタｎの書込み時にライト・エラーが生じたとすると、セクタｎが欠陥セクタとして扱われる。
【００２０】
ここで、スクランブルシード値が物理セクタ番号の場合の、ライト・エラーの復旧処理の際のライト・データ、シード・データ、ライト・ゲート、パリティ・リセット、パリティ・バッファ２２３にバッファリングされるパリティの様子を、図４（ａ）〜（ｅ）に示す。図４から明らかなように、セクタｎの書込み時にライト・エラーが生じてセクタｎが欠陥セクタとして登録されると、ＨＤＣ２１はパリティ・バッファ２２３にパリティ・リセットを送り、セクタｎを欠陥セクタとして登録することによりそのセクタをｎ＋１として扱う。この場合、欠陥セクタの登録前後でシード値が異なるため、トラックの先頭から計算をやり直すことになる。
【００２１】
そこで、本実施形態では、スクランブルシード値を論理セクタ番号とする。論理セクタ番号は、そのトラック上で欠陥セクタとして登録されていないセクタに対して、物理セクタ番号０の場所から順に番号が与えられる。ただし、論理セクタ番号は、メディア１０に書き込む位置の物理セクタ番号の算出にも使用されるものとする。
【００２２】
このときのライト・エラーの復旧処理の際のライト・データ、ライト・ゲート、パリティ・マスク、パリティ・バッファ２２３にバッファリングされるパリティの様子を、図５（ａ）〜（ｄ）に示し、パリティ・マスク制御信号を図５（ｅ）に示す。図５から明らかなように、スクランブルシード値が論理セクタ番号の場合には、エラーが発生したセクタから書込みを再開すると共に、パリティ・セクタの計算については、エラー発生を検出したときに、計算が終了しているセクタまでパリティの更新がマスクされており、パリティ・リセットはかからない。このため、エラー発生までの計算の途中からその計算を再開することができる。
【００２３】
以上のように、本実施形態に係るＨＤＤでは、パリティ・セクタの作成中にライト・エラーが発生したとき、ライト・エラーが発生した物理領域を欠陥セクタとして扱い、論理セクタ番号をスクランブラのシード値の一要素としているので、ライト・エラーが発生したセクタの論理セクタ番号はライト・エラーが発生した物理領域の、次の物理領域を示した番号となり、論理セクタ番号が同じ値のため、スクランブルシード値に論理セクタ番号を利用することで、ライト・エラーが発生したセクタのデータ列をライト・エラーが発生した際のデータ列と同じ値とすることができる。このとき、計算途中のパリティ・セクタは正しい値を計算できているため、パリティ・バッファ２２３にはパリティ更新が不要なセクタ数だけマスクさせる。これにより、ライト・エラーが発生したセクタから書込みを再開することができ、パリティ更新のための計算済みのセクタを有効に利用することができる。
【００２４】
なお、上記実施形態では、ＳＭＲ型の磁気ディスク装置を例にとって説明したが、ＳＭＲ型に限定されるものではない。また、スクランブルシード値に論理セクタ番号を用いる場合について説明したが、論理セクタ番号に代わってＬＢＡ（Logical Block Addressing：論理ブロックアドレス）を使用することも可能である。
【００２５】
その他、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００２６】
１０…メディア、２０…コントローラ、２１…ＨＤＣ、２２…ＲＤＣ、２２１…スクランブラ、２２２…ＸＯＲ回路、２２３…パリティ・バッファ、２２４…ゲート回路。
【図１】
2019153367.tif 000003
【図２】
2019153367.tif 000004
【図３】
2019153367.tif 000005
【図４】
2019153367.tif 000006
【図５】
2019153367.tif 000007