(58)【調査した分野】(Int.Cl.,DB名)
(i)前記メモリから前記複数のポートへ転送されたテストデータを逆多重化し、かつ、(ii)前記複数のポートから前記メモリへ転送されたテストデータを多重化する多重化モジュールを更に備え、
前記管理モジュールは、前記ホストの前記インターフェースから前記メモリへ前記テストデータを転送し、
前記テストデータは前記システムをテストするべく前記ホストから提供され、
試験プロセスの間、前記第2チャネルモジュールが前記ディスクの前記第2面からの読み出し又は前記第2面への書き込みを実行する間、前記第1チャネルモジュールは、前記テストデータの第1部分の、前記ディスクの前記第1面からの読み出し又は前記第1面への書き込みを実行する、請求項1から10のいずれか一項に記載のシステム。
前記第2チャネルモジュールは、前記第1チャネルモジュールが前記ディスクの前記第1面にデータの前記第1セクタの前記第1部分を書き込むべく、データの前記第1セクタの前記第1部分を前記第1アンプモジュールに転送する間に、前記ディスクの前記第2面にデータの前記第1セクタの前記第2部分を書き込むべく、データの前記第1セクタの前記第2部分を前記第2アンプモジュールに転送する、請求項1から11のいずれか一項に記載のシステム。
ホストに接続された(i)インターフェース又はメモリと、(ii)第1ポート及び第2ポートを備える複数のポートとの間で、データの第1セクタ及びデータの第2セクタを転送する段階であって、データの前記第1セクタの第2部分と、データの前記第2セクタの第1部分とのいずれか一方が、前記第2ポートから又は前記第2ポートへ転送される間、データの前記第1セクタの第1部分が、前記第1ポートから又は前記第1ポートへ転送される段階であって、前記第2部分は前記第1部分とは異なる、段階と、
第1アンプモジュールから又は前記第1アンプモジュールへとデータの前記第1セクタの前記第1部分を転送することによって、第1ヘッドを介して、ディスクの第1面から読み出す又は前記第1面へと書き込む段階と、
前記第1アンプモジュールから又は前記第1アンプモジュールへと、データの前記第1セクタの前記第1部分が転送される間、(i)データの前記第1セクタの前記第2部分と、(ii)データの前記第2セクタの前記第1部分とのいずれか一方を、第2アンプモジュールから又は前記第2アンプモジュールへ転送することによって、第2ヘッドを介して、前記ディスクの第2面から読み出す又は前記第2面へと書き込む段階であって、前記第2面は前記ディスクにおける前記第1面の反対側にある、段階と
を備える、方法。
前記ディスクの前記第1面から読み出されたデータの前記第1セクタの前記第1部分が欠陥を有する場合、前記ディスクの前記第2面から読み出されたデータの前記第1セクタの前記第2部分に基づいて、データの前記第1セクタの前記第1部分を復元する段階
を更に備える、請求項13から15のいずれか一項に記載の方法。
【背景技術】
【0003】
本発明の理解するための背景を、一般的に説明することを目的として、背景技術を説明する。以下、背景技術の章において説明される範囲及び出願時には従来技術として認められていない側面の範囲において、本願発明者の仕事は、本開示に対して明示的に又は非明示的にも、従来技術であるとは認めていない。
【0004】
ハードディスクドライブ(HDD)は、ドライブ制御モジュール(又はHDDシステムオンチップ(SOC)コントローラ)及びハードディスクアセンブリ(HDA)を含んでもよい。ドライブ制御モジュールは、ホストインターフェースから受け取った読み出し及び/又は書き込みコマンド信号に基づいて、ホストインターフェースとHDAとの間でデータを転送する。ホストインターフェースは、コンピュータのようなホストに接続されてもよい。
【0005】
HDAは、データを磁気的に記憶するのに使用される磁気面を有する1以上の円形プラッタ(platter)(すなわち、ディスク)を含む。HDAは、1つのディスクにつき、2つの読み出し及び書き込みヘッド(以下、"ヘッド"と称する)を含んでもよい。ヘッドは、ディスクの磁気面からデータを読み出す及びデータを書き込むのに使用される。データは、ユーザデータ及びサーボデータを含んでもよい。ユーザデータとは、HDDとホストとの間で転送されるデータを指す。サーボデータとは、例えば、セルフサーボ書き込みプロセスの間に、ディスクに書き込まれるデータであって、ディスク上のヘッド位置を指すのに使用されるデータを指す。ディスクのヘッドはそれぞれ、ヘッドアセンブリ上で、ディスクの互いに対向する側に搭載される。ヘッドアセンブリは、アクチュエータアームの端部に搭載される。アクチュエータアームは、ボイスコイルモータ(VCM)により、ディスクに対して移動する。
【0006】
ディスクはそれぞれ、ディスクの両面にトラックを有してもよい。ディスクの第1の側上のトラックと、ディスクの第2の側上のトラックとは、並んでいない。したがって、一度に、ディスクの片方の側だけがアクセスされる。ディスクの目的とする面の目的の位置にアクセスするためには、ハードディスクアセンブリを移動させた後、ディスクの目的とする側に対応するヘッドを移動させる。
【0007】
ドライブ制御モジュールは、ホストインターフェース制御モジュール、バッファ管理モジュール、サーボ制御モジュール、読み出し書き込みチャネルモジュール及びハードディスク制御モジュールを含んでもよい。ホストインターフェース制御モジュールは、ホストから読み出し及び書き込みコマンド信号を受信して、ホストインターフェースとバッファ管理モジュールとの間のユーザデータの転送を制御する。バッファ管理モジュールは、ホストインターフェースから受け取ったユーザーデータを、ディスクに記録する前に、バッファに格納する。バッファ管理モジュールは、ホストインターフェースを介してホストに送信する前に、ディスクから受け取ったユーザデータを格納する。
【0008】
サーボ制御モジュールは先ず、ヘッドアセンブリを位置させ(粗い調整と称す)た後で、ディスクの一面からの読み出し又は書き込みを行う際に、ヘッドアセンブリのヘッドの1つを位置させる(微調整と称す)。例えば、サーボ制御モジュールは、ディスクの第1の側にアクセスする場合に、読み出し書き込みチャネルモジュールからの第1サーボフィードバック信号に基づいて、ヘッドアセンブリを位置させる。第1サーボフィードバック信号は、最初に、HDAのプリアンプを介して生成される。第1サーボィードバック信号は、ディスクの第1の側に書き込まれた第1サーボデータに基づいて生成され、ディスクの第1の側上の第1ヘッドの位置を示す。そして、サーボ制御モジュールは、第1サーボフィードバック信号に基づいて、ディスクの第1の側の目的の位置から読み出し又は目的の位置への書き込みを行うべく、第1ヘッドをその位置に配置させる。
【0009】
ディスクの第2の側(ディスクの第1の側と反対側の面)上のデータにアクセスするためには、サーボ制御モジュールは、ヘッドアセンブリの位置を調整して、ディスクの第2の側上に第2のヘッドの位置を調整してもよい。サーボ制御モジュールは、第2サーボフィードバック信号に基づいて、ヘッドアセンブリの位置及び第2ヘッドの位置を調整する。プリアンプモジュールは、第2サーボフィードバック信号を生成するべく、ディスクの第1の側からのサーボ情報の読み出しと、ディスクの第2の側からのサーボ情報の読み出しとを切り替える。プリアンプモジュールは、第2サーボフィードバック信号を、読み出し及び書き込みチャネルモジュールに供給する。第2サーボフィードバック信号は、ディスクの第2の側の第2ヘッドの位置を示す。
【0010】
読み出し書き込みチャネルモジュールは、第1サーボフィードバック信号又は第2サーボフィードバック信号の何れかを、サーボ制御モジュールに転送する。ハードディスク制御モジュールは、バッファ管理モジュールとHDAとの間のデータ転送を制御する。
【0011】
HDD性能を向上させるためには、HDDの読み出し書き込み速度を上げる必要がある。これには、HDDのディスクの回転を、より高速で行う必要がある。ディスクの回転速度を上げるとHDD性能(例えば、データ転送レート)を向上させることができるが、高速で回転させる動作では、幾つかの不利益が生じる。不利益としては、消費電力の増加、HDDの電子的構成要素のエラーの増加、及び、読み出し書き込みオペレーション実行時に生成される信号の信号対雑音比(SNR)が低下することが含まれる。また、高速HDDは、適切に動作するHDDお提供するのに必要な構成要素の品質及び材料により、低速HDDと比較して製造コストがかかる。
【0012】
HDD性能の向上が求められているのに加えて、HDD記憶密度に対する要求も高くなっている。一般的に、記憶密度の要求が高くなると、セルフサーボ書き込みプロセス、欠陥のスキャン及び工場でのバーンイン(burn-in)プロセス(製造時に実行される試験プロセス)を実行するのに時間がより掛かることから、HDDの製造コストがかさむ。
【発明を実施するための形態】
【0024】
以下の説明は、単なる例に過ぎず、本開示の内容、用途又は使用を限定することを意図していない。本開示の幅広い教示を、様々な形式で実装可能である。したがって、本開示は特定の例を含むが、本開示の真の範囲はこれら特定の例に限定されず、図面、明細書及び添付の特許請求の範囲を参照することにより、その他の変形例が明らかとなるであろう。説明を明確にすることを目的として、図面において同様な要素には同じ参照番号が付与されている。本明細書で使用されている、"A、B及びCのうちの少なくとも1つ"という表現は、非排他的論理ORを使用して、論理の(A又はB又はC)という意味に解釈されるべきである。方法の段階は、本開示の原理を変更することなく、異なる順番で(又は同時に)実行されてもよいことは明らかである。
【0025】
また、本明細書で使用されている"モジュール"という言葉は、特定用途向け集積回路(ASIC)、電子回路、組み合わせ論理回路、フィールドプログラマブル・ゲートアレイ(FPGA)、コードを実行する(共有、専用又はグループ)プロセッサ、説明される機能を提供するその他の好適な構成要素、又は、システムオンチップのような、上記の一部又は全ての組み合わせを、又は、これらの一部を意味する。また、モジュール"という言葉は、プロセッサによって実行されるコードを格納する(共有、専用、又は、グループ)メモリを含む場合がある。
【0026】
上記で使用されている"コード"という言葉は、ソフトウェア、ファームウェア及び/又はマイクロコードを含む場合があり、プログラム、ルーチン、機能、分類及び/又はオブジェクトを意味する場合がある。上記で使用されている"共有"という言葉は、1つの(共有)プロセッサを使用して、複数のモジュールからのコードの一部又は全てを実行可能であることを意味する。更に、複数のモジュールからのコードの一部又は全ては、1つの(共有)メモリによって格納されてもよい。上記で使用した"グループ"という言葉は、1つのモジュールからのコードの一部又は全てを、複数のプロセッサからなるグループを使用して実行してもよいことを意味する。更に、1つのモジュールからのコードの一部又は全てを、複数のメモリからなるグループを使用して格納してもよい。
【0027】
以下の説明では、構成要素間の物理的関係を説明するのに、様々な用語が使用される。第1要素が、第2要素の"上にある(on)"、"係合している(engaged to)"、"接続されている(connected to)"、又は、"連結している(coupled to)"という言葉は、第1要素が直接、第2要素の上にある、係合している、接続されている、配置されている、貼り付けられている又は連結されていることを意味する、又は、介在要素が存在することを意味する。要素が、別の要素の"直接上にある(directly on)"、"直に係合している(directly engaged to)"、"直接接続されている(directly connected to)"、又は、"直接連結している(directly coupled to)"との説明は、介在要素が存在しないことを意味する。要素間の関係を説明するのに使用されるその他の言葉についても、同様な態様で解釈されるべきである(例えば、"〜の間に(between)"と"直接〜の間に(directly between)"、"隣接して(adjacent)"と"直接隣接して(directly adjacent)"等)。
【0028】
様々な要素、構成要素、モジュール、チャネル及び/又はヘッドを説明するのに第1、第2、第3等の言葉が使用されるが、要素、構成要素、モジュール、チャネル及び/又はヘッドは、これらの言葉によって限定されない。このような言葉は、単に、一の要素、構成要素、モジュール、チャネル又はヘッドを、別の要素、構成要素、モジュール、チャネル又はヘッドと区別するのに使用されている。"第1"、"第2"及びその他数字を表す言葉が使用されている場合は、コンテキストで明確にそうであると記載されていない限り、シーケンス又は順番を意味するのに使用されているのではない。したがって、第1の要素、構成要素、モジュール、チャネル又はヘッドと記載されている要素は、実施形態の教示する範囲内において、第2の要素、構成要素、モジュール、チャネル又はヘッドと称することもできる。
【0029】
図1には、HDDのハードディスクドライブ(HDD)システム10が示されている。HDDシステム10は、HDDプリント回路基板(HDD PCB)12及びハードディスクアセンブリ(HDA)14を備える。HDD PCB12は、ドライブ制御モジュール15、ホストインターフェース16、揮発性メモリ(バッファ)18、及び、アクチュエータ制御モジュール20を有する。ドライブ制御モジュール15は、ホスト22からユーザデータを受信し、ユーザデータを、ホストインターフェース16を介して、ホスト22に転送する。ホスト22は、コンピュータ、テレビ、ディスプレイ、携帯電話、パーソナル・デジタル・アシスタント等であってもよい。ホストインターフェース16は、シリアルATA(serial advanced technology attachment:SATA)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、IDE(integrated drive electronics)インターフェース(又は、パラレルATAインターフェース)等であってもよい。ドライブ制御モジュール15は、ドライブ制御モジュール15とHDA14との間の、ユーザデータ及びサーボデータのやり取りを制御する。
【0030】
ドライブ制御モジュール15は、ホストインターフェース制御モジュール30、バッファ管理モジュール32、プロセッサ34、サーボ制御モジュール62、第1読み出し及び書き込み(読み出し/書き込み)経路38、第2読み出し/書き込み経路40、及び、セルフサーボ書き込み(SSW)モジュール42を有する。ホストインターフェース制御モジュール30は、ホストインターフェース16とバッファ管理モジュール32との間に接続されてもよい。ホストインターフェース制御モジュール30は、データ信号を、ホスト22が受けつけるデータフォーマットへと又はこのようなフォーマットから別のフォーマットへと変換してもよい。
【0031】
バッファ管理モジュール32は、ホスト22から、HDA14に格納すべきユーザデータを受信してもよい。HDA14は、データを磁気的に記憶するのに使用される磁気面を有する円形のプラッタ又はディスク(1つのディスク44が図示されている)を1以上含んでもよい。データを、連続メディアフォーマット又はビットパターンフォーマットで、ディスク上に格納することができる。図示のHDA14では、1つのディスク44及び1つのヘッドアセンブリ46が示されているが、HDA14は、任意の数のディスク及びヘッドアセンブリを有してもよい。バッファ管理モジュール32は、アクセスされたデータをHDA14からホスト22へと送信してもよい。
【0032】
バッファ管理モジュール32は、HDA14、ホストインターフェース16及び揮発性メモリ18への及びからの、データの転送、スケジューリング及び格納を含む、HDDシステム10のオペレーションを制御してもよい。制御は、ホスト及びHDDシステム10間、及び/又は、ドライブ制御モジュール12及びHDA14間でやり取りされる、コマンド及びステータス情報に基づいて行われてもよい。コマンド及びステータス情報が、プロセッサ34に供給されてもよい。
【0033】
プロセッサ34は、HDA14にデータを格納する前に及び/又は後に、符合化、復号化、フィルタリング及び/又はフォーマット化を含むデータ処理を行ってもよい。処理は、コマンド及び/又はステータス情報に基づいて行われてもよい。プロセッサ34は、HDD PCB12に専用の不揮発性メモリ50を有してもよい。不揮発性メモリ50は、HDD システム10を起動するのに使用されるオペレーティングシステムを格納していていもよい。オペレーティングシステムの複数の部分及び/又はコピーを、HDA14に格納してもよい、及び/又は、本明細書に開示するディスクアクセス技術を使用して、ディスク44の両面に格納してもよい。
【0034】
バッファ管理モジュール32は、ホスト22とHDA14との間のデータのバッファリングを制御する。バッファ管理モジュール32は、ホスト22及び/又はHDA14から受信したデータを、揮発性メモリ18に一時的に格納してもよい。ホスト22及び/又はHDA14にそれぞれ転送されるまで、データを揮発性メモリ18に格納しておいてもよい。揮発性メモリ18を使用して、ホスト22とHDA14との間のデータのやり取り時に発生するボトルネックを防ぐ。揮発性メモリ18は、例えば、ダブルデータレート(DDR)メモリ及び/又はDDRシンクロナスDRAM(synchronous dynamic random access memory:DDR SDRAM)を含んでもよい。
【0035】
バッファ管理モジュール32は、1以上のバッファポート52、53、バッファアクセス制御モジュール54及びHDCポート56、57を含む。バッファポート52、53及び/又はHDCポート56、57はそれぞれ、アクセスチャネル及び対応する読み出し/書き込み経路38、40と関連付けられてもよい。バッファアクセス制御モジュール54は、バッファポート52、53を介して不揮発性メモリ18内の複数のロケーションに同期間にアクセスしてもよい。バッファアクセス制御モジュール54は、バッファ18からデータセクタを読み出す又は又はバッファ18に書き込む時に、ヘッド70、72のそれぞれと関連付けられたバッファ18におけるデータセクタのロケーションを追跡する。これは、例えば、1つ前の又は現在のバッファアクセスロケーションを示すバッファポインタを使用して行ってもよい。
【0036】
ポインタは、例えば、一連のデータセクタのうちの、奇数のセクタ及び偶数のセクタのバッファロケーションを指してもよい。奇数のセクタは、第1ヘッド70を介して、第1の側80から読み出される又は書き込まれてもよい。偶数のセクタは、第2ヘッド72を介して、第2の側82から読み出される又は書き込まれてもよい。
【0037】
別の例として、奇数のデータセクタ及び偶数のデータセクタの部分が、同じ期間に、第1の側及び第2の側80、82から読み出される又は書き込まれてもよい。第1ヘッド70を介して第1の側80から読み出される又は第1の側80に書き込まれる第1(奇数)セクタの第1部分と関連付けられた第1バッファロケーションを指すのに、第1ポインタを使用してもよい。第2ヘッド72を介して第2の側82から読み出される又は第2の側82に書き込まれる第2(偶数)セクタの第1部分と関連付けられた第2バッファロケーションを指すのに、第2ポインタを使用してもよい。第1部分及び第2部分を読み出した後又は書き込んだ後に、第1ポインタを第1セクタの第2部分に切り替えて、第2ポインタを第2セクタの第2部分に切り替えてもよい。
【0038】
別の例では、セクタの第1部分が第1の側80から読み出される又は書き込まれ、セクタの第2部分が第2の側82から読み出される又は書き込まれてもよい。第1ヘッド70を介して第1の側80から読み出される又は第1の側80に書き込まれる第1セクタの第1部分と関連付けられた第1バッファロケーションを指すのに、第1ポインタを使用してもよい。第2ヘッド72を介して第2の側82から読み出される又は第2の側に書き込まれる第2セクタの第1部分と関連付けられた第2バッファロケーションを指すのに、第2ポインタを使用してもよい。第1部分及び第2部分を読み出した後又は書き込んだ後に、第1ポインタを第1セクタの第2部分に切り替えて、第2ポインタを第2セクタの第2部分に切り替えてもよい。
【0039】
バッファアクセス制御モジュール54は、複数のバッファポートのうちの第1番目52と、複数のHDCポート56のうちの第1番目とで平行にデータを転送してもよく、同時に、複数のバッファポートのうちの第2番目53と、複数のHDCポートのうちの第2番目57との間でデータをやり取りしてもよい。第1HDCポート56を介して、バッファアクセス制御モジュール54と第1読み出し/書き込み経路38との間でデータを転送してもよく、第2HDCポート57を介して、バッファアクセス制御モジュール54と第2読み出し/書き込み経路40との間でデータを転送してもよい。
【0040】
バッファ管理モジュール32は、任意の数のバッファポート及びHDCポートを有してもよい。バッファ管理モジュール32は、HDCポートよりも少ない数のバッファポートを有してもよい。例えば、バッファアクセス制御モジュール54は、多重化モジュール60を含んでもよい。多重化モジュール60は、マルチプレクサ及びデマルチプレクサを含んでもよい。書き込みオペレーションでは、多重化モジュール60は、バッファポート52、53のうちの一方から転送されてきたデータを逆多重化して、書き込みオペレーションの間に2つのユーザデータ信号62を生成してもよい。ユーザデータ信号62はそれぞれ、HDCポート56、57のうちの対応する一方で受信されてもよい。読み出しオペレーションでは、HDCポート56、57で読み出し/書き込み経路38、40から受信されたユーザ信号64を多重化して、バッファポートのうちの1つ(例えば、第1バッファポート52又は第2バッファポート53)に供給されてもよい1つのユーザデータ信号を生成してもよい。バッファアクセス制御モジュール54は、制御信号を生成して、多重化モジュール60のオペレーションを制御してもよい。
【0041】
サーボ制御モジュール36は、ヘッドアセンブリ46及び関連するヘッド70、72の位置を制御し、ディスク44の回転速度を制御する。サーボ制御モジュール36は、サーボモータモジュール74、第1サーボヘッドモジュール76及び第2サーボヘッドモジュール78を含む。第1サーボヘッドモジュール76は、第1ヘッド70の位置を、ディスク44の第1面又は第1の側80上に調整する。第2サーボヘッドモジュール78は、第2ヘッド72の位置を、ディスク44の第2面又は第2の側82上に調整する。サーボヘッドモジュール76、78は、同期間にヘッド70、72の位置を平行して調整してもよい。
【0042】
第1読み出し/書き込み経路38は、第1ハードディスク制御(HDC)モジュール84及び第1読み出し/書き込みチャネルモジュール86を含む。第2読み出し/書き込み経路40は、第2HDCモジュール88及び第2読み出し/書き込みチャネルモジュール90を含む。
【0043】
HDCモジュール84、88は、HDA14へのアクセスを制御する。HDCモジュール84、88は、ディスク44、ヘッド70、72、スピンドルモータ92、ボイスコイルモータ(VCM)94、プリアンプモジュール96等を含むHDA14の要素へのアクセスを制御してもよい。HDCモジュール84、88は、欠陥管理、ロケーション追跡及びディスクフォーマット化タスクを実行してもよい。欠陥管理タスクには、第1の側80及び第2の側82の両方におけるデータセクタの欠陥の欠陥マップを生成することが含まれる。データのセクタは、以下、単に"セクタ"と称される。ロケーション追跡タスクには、ディスク44の第1の側80及び第2の側82の両方におけるユーザデータ及び/又はユーザデータのセクタ位置の追跡が含まれる。ディスクフォーマット化タスクには、第1の側80及び第2の側82の両方に格納されたデータのセクタのフォーマットを決定することを含む。欠陥管理、ロケーション追跡及びディスクフォーマットタスクについては、以下で、
図2から
図4を参照して更に詳細に説明される。
【0044】
HDCモジュール84、88及び/又はプロセッサ34は、サーボモータモジュール74及び/又は対応するサーボヘッドモジュール76、78を制御してもよい。HDCモジュール84、88及び/又はプロセッサ34はまた、サーボ制御モジュール36、サーボモータモジュール74及びサーボヘッドモジュール76、78を監視してもよい。HDCモジュール84、88は、ヘッド70、72が正しい位置に配置され、ディスク44にアクセスする準備ができているか否かを判断してもよい。HDCモジュール84、88及び/又はプロセッサ34はまた、第1の側80及び第2の側82の両方にアクセスする時に、第1ヘッド70及び第2ヘッド72の間の、位置のアライメントオフセットを追跡、記憶及び更新してもよい。位置のアライメントオフセットとは、ディスク44の対向する磁気面にわたる、ヘッド70、72の横方向の位置の差分のことである。HDCモジュール84、88及び/又はプロセッサ34は、読み出し/書き込みチャネルモジュール86、90から受信されたサーボフィードバック信号に基いて、位置のアライメントオフセットを追跡してもよい。
【0045】
読み出し/書き込みチャネルモジュール86、90は、ヘッド70、72によって、ディスク44の磁気面に対して行われる読み出しオペレーション及び書き込みオペレーションを制御する。読み出し/書き込みチャネルモジュール86、90は、ヘッド70、72にアクセスする前にプリアンプモジュール96の対応するアンプモジュール100、102によって増幅されるアクセス信号を生成してもよい。アンプモジュール100、102はまた、読み出し/書き込みチャネルモジュール86、90に送信される前に、ヘッド70、72から受信された信号を増幅してもよい。アンプモジュール100、102はまた、データの書き込みが行われる時に、ヘッド70、72の書き込み要素を流れる書き込み電流を生成する。書き込み電流は、ディスク44の磁気面に磁場を生成するのに利用される。
【0046】
ディスク44の読み出しが行われる間に、ディスク44の磁気面は、ヘッド70、72の読み出し要素に低レベルのアナログ信号を誘導する。読み出し要素は、第1の側80及び第2の側82の両方におけるトラックを読み出すのに使用される。アンプモジュール100、102は、この低レベルアナログ信号を増幅して、増幅したアナログ信号を読み出し/書き込みチャネルモジュール86、90に出力する。増幅されたアナログ信号は、ユーザデータ信号及びサーボデータ信号を含んでもよい。同じ期間に、ヘッド70及びヘッド72の両方からユーザデータ信号が供給されてもよい。両方のヘッド70、72からのサーボデータ信号が、同じ期間に供給されてもよい。SSWモジュール42は、ディスク44にユーザデータが格納される前に、ヘッド70,72を使用してディスク44にサーボデータを書き込んでもよい。サーボデータは、ディスク44の両面に格納されてもよく、ユーザデータがディスク44の正しいロケーションに書き込まれる又は正しいロケーションから読み出されるかを監視してもよい。これは、
図3を参照して説明するように、セルフサーボ書き込み方法において実行されてもよい。
【0047】
アクチュエータ制御モジュール20は、モータドライバモジュール110、第1ヘッドドライバモジュール112及び第2ヘッドドライバモジュール114を含む。モータドライバモジュール110は、ヘッドアセンブリ46の位置を調整するべくVCM94を起動し、ディスク44の回転速度を調整するべく、スピンドルモータ92のスピードを調整する。一例として、サーボモータモジュール74は、スピンドルモータ92のスピード、及び、ヘッドアセンブリ46の1以上のアクチュエータアーム116の位置を制御するコマンドを生成してもよい。サーボモータモジュール74は、読み出し/書き込みチャネルモジュール86、90、HDCモジュール84、88及び/又はプロセッサ34から受信されたサーボデータ及び/又は位置情報に基づいて、アクチュエータアーム116を位置させる。モータドライバモジュール110は、コマンドを実装して、スピンドルモータ92のスピード及びアクチュエータアーム116の位置を制御するモータ制御信号(例えば、VCM制御信号及びスピンドル制御信号)を生成する。
【0048】
サーボヘッドモジュール76、78は、読み出し及び書き込みオペレーションの間に、ディスク44の対応する面及び側にヘッド70、72を位置させる。サーボヘッドモジュール76、78は、読み出し/書き込みチャネルモジュール86、90、HDCモジュール84、88及び/又はプロセッサ34から受信したサーボデータ及び/又は位置情報に基づいて、ヘッド70、72を配置する。サーボヘッドモジュール76、78は、ヘッド70、72の位置を制御するためのヘッド制御信号を生成する。
【0049】
HDA14は、ヘッドアセンブリ46及びプリアンプモジュール96を備える。ヘッドアセンブリ46は、ディスク44、スピンドルモータ92、VCM94及びアクチュエータアーム116を有する。スピンドルモータ92は、モータドライバモジュール110からのスピンドル制御信号に基づいて、ディスク44を回転させる。VCM94は、モータドライバモジュール110からのVCM制御信号に基づいて、ディスク44に対するアクチュエータアーム116の位置を調整する。
【0050】
ヘッドアセンブリ46は、アクチュエータアーム116の遠位端に配置されてもよく、第1ヘッド70、第2ヘッド72、第1ヘッドアクチュエータ120及び第2ヘッドアクチュエータ122を含む。ヘッド70、72はそれぞれ、磁場を生成するインダクタのような書き込み要素、及び、ディスク44上の磁場を検出する磁気抵抗(MR)素子のような読み出し要素を有する。ヘッドアクチュエータ120、122は、ディスク44に対してヘッド70、72を移動させる。ヘッドアクチュエータ120、122は、マイクロアクチュエータ、マイクロ電気機械アクチュエータ、圧電性アクチュエータ等であってもよい。ヘッドアクチュエータ120、122は、所定番目のトラックにヘッドを移動させる(マイクロジョギング)ことが可能であってもよい。ディスク44は、複数のディスクの積層体として配置されてもよい。
【0051】
プリアンプモジュール96は、アンプモジュール100、102を含む。アンプモジュール100、102はそれぞれ、ヘッド70、72、ヘッドアクチュエータ120、122、及び、読み出し/書き込み経路38、40の対応する1つと関連付けられていてもよい。アンプモジュール100、102は、ヘッド70、72から、第1の側80及び第2の側82のそれぞれにおけるトラックから読み出されたサーボ情報(又はサーボデータ)を受信する。アンプモジュール100、102はまた、読み出し/書き込みチャネルモジュール86、90とヘッド70、72との間でユーザデータを転送する。
【0052】
ドライブ制御モジュール15、揮発性メモリ18、不揮発性メモリ50、アクチュエータ制御モジュール20及びプリアンプモジュール96はそれぞれ、システムオンチップ(SOC)であってもよい。ドライブ制御モジュール15、揮発性メモリ18、不揮発性メモリ50及びアクチュエータ制御モジュール20は、HDD PCB12に搭載されていてもよい。プリアンプモジュール96は、HDA14に内蔵されてもよい。HDD PCB12は、例えば、HDA14の筐体(図示せず)上に接続されてもよいし、HDA14に搭載されてもよい。
【0053】
図2には、読み出し/書き込み経路38、40が示されている。第1読み出し/書き込み経路38は、第1HDCモジュール84、及び、第1読み出し/書き込みチャネルモジュール86を含む。第2読み出し/書き込み経路40は、第2HDCモジュール88及び第2読み出し/書き込みチャネルモジュール90を含む。第1読み出し/書き込み経路38は、第1アンプモジュール100に接続される。第2読み出し/書き込み経路40は、第2アンプモジュール102に接続される。
【0054】
HDCモジュール84、88は、対応する欠陥管理モジュール130、132、セクタアドレス識別子なし(sector address identifier less:SAIL)モジュール134、136(セクタアドレスモジュール134、136と称されてもよい)、及び、ディスクフォーマットモジュール138、140を含む。欠陥管理モジュール130、132は、ディスク44の対応する側の欠陥が存在するセクタの位置をマッピングするハードウェアを備える。そして、このマップは、HDCモジュール84、88、揮発性メモリ18又はその他の不揮発性メモリ50に格納されて、ディスク44がアクセスされる際に使用されてもよい。HDCモジュール84、88は、ユーザがユーザデータをディスク44に格納してもよいスペース全量を報告してもよい。スペースの全量は、欠陥を有するセクタを含まなくてもよい。このため、ディスク44は、ホスト22からは欠陥セクタを有さないように見られる。バッファ管理モジュール32のアクセスチャネルとディスク44との間でデータが転送される際に、HDCモジュール84、88は、マップを使用してもよい。
【0055】
SAILモジュール134、136は、ディスク44上のユーザデータのセクタ位置を追跡する。SAILモジュール134、136は、サーボフィードバック信号に基づいて、サーボ番号からセクタ番号を導出してもよい。HDCモジュール84、88は、ディスク44へのユーザデータの書き込みが行われる際には、ディスク44上のディスクアドレスロケーションを書き込まなくてもよい。SAILモジュール134、136は、ディスク44上のユーザセクタの開始点及び/又は終了点を追跡して、当該開始点及び/又は終了点、及び、例えば、転送されるバイト数、シンボル数、ページ数及び/又はセクタ数に基づいて、ディスク44にアクセスしてもよい。SAILモジュール134、136は、アンプモジュール100、102から受信されたサーボフィードバック信号に基づいて、ユーザデータの回転位置を追跡してもよい。
【0056】
ディスクフォーマットモジュール138、140は、ディスク44に格納されたセクタのフォーマットを追跡する。フォーマットは、読み出し及び書き込みが行われるバイト数、シンボル数、ページ数及び/又はセクタ数、バイト又はシンボルの形式、snycマークの位置、プリアンブルにおける情報等を含む、対応するフォーマット情報を有する。snycマークは、ディスク44上の目的のユーザデータの開始位置を特定するべく、HDCモジュール84、88及び/又は読み出し/書き込みチャネルモジュール86、90によって使用されてもよい。
【0057】
読み出し/書き込みチャネルモジュール86、90は、対応するエンコーダ142、144、デコーダ146、148及び/又は位置フィードバックモジュール150、152を含んでもよい。エンコーダ142、144は、ユーザデータがディスク44に書き込まれる前に、ユーザデータをエンコードするのに使用されてもよい。書き込みオペレーションの間、読み出し/書き込みチャネルモジュール86、90は、信頼性を高めるべく、RLL(run length limited)符号、リードソロモン符号、低密度パリティ検査符号(LDPC)等の誤り訂正符号(ECC)を使用してユーザデータをエンコードしてもよい。読み出し/書き込みチャネルモジュール86、90は、符合化されたデータをアンプモジュール100、102に送信する。
【0058】
デコーダ146、148を使用して、ディスク44から読み出されたユーザデータをデコードしてもよい。読み出しオペレーションの間に、読み出し/書き込みチャネルモジュール86、90は、アンプモジュール100、102からアナログ信号を受信する。読み出し/書き込みチャネルモジュール86、90は、アナログ信号をデジタル信号へと変換して、デジタル信号がデコードされた、元のユーザデータが復元される。
【0059】
位置フィードバックモジュール150、152は、アンプモジュール100、102から、サーボフィードバック信号の形態のサーボ情報を、サーボ制御モジュール36、サーボモーターモジュール74及び/又はサーボヘッドモジュール76、78へと転送する。サーボ情報は、第1の側80及び第2の側82の両方に埋め込まれてもよい。
【0060】
第1の側80及び第2の側82のうちの一方が欠陥を有し、フィードバック情報が不確かなものとなる場合には、他方の側のフィードバック情報(サーボ情報又はバースト情報)を使用してもよい。ヘッド70、72は、互いに直接、並ぶわけではないが、サーボ番号(又はウェッジID)が同じになるような程度で、一列に並ぶ。このことから、欠陥情報を有する側からの読み出し又は書き込みが行われる場合であっても、欠陥が存在しないフィードバック情報を有する側のフィードバック情報を利用できる。ディスクの一方の面上のサーボデータが、欠陥のあるサーボ情報を有していても、対応するユーザデータセクタは、欠陥を有さない場合がある。このため、ディスクの一方の面のサーボデータを利用すれば、ディスクの他方の面のサーボデータが欠陥を有していても、ユーザデータはディスクの両面から安定して読み出すことができる及び/又はディスクの両面に書き込むことができる。これは、一度にディスクの一方の側から読み出し又は書き込みを行う従来のHDDシステムとは異なる。従来のHDDシステムでは、ディスクのサーボデータが欠陥を有する場合、ディスクから読み出し又はディスクへの書き込みを行うことができなかった、ディスクの目的の点ではなく開始点から書き込みを試みていた、及び/又は、推定に基づいてディスクへのアクセスを試みていた。それにより、信頼できないユーザデータとなる場合があった。
【0061】
アンプモジュール100及びアンプモジュール102を同時にアクティブにして、同期間に読み出しオペレーションと書き込みオペレーションとをディスクの第1の側80と第2の側82との両方に実行可能としてもよい。アンプモジュール100、102は、それぞれ、書き込みモジュール154、156及び読み出しモジュール158、160を有する。モジュール154〜160は、正エミッタ結合ロジック(PECL: positive emitter coupled logic)デバイスを含んでもよい。書き込みモジュール154、156は、エンコーダから符合化されたユーザデータを受信し、ヘッド70、72を介して、ディスク44の対応する側にユーザデータを書き込む。読み出しモジュール158、160は、符合化されたユーザデータ及びサーボデータを、ディスク44の両側から読み出す。これは、ヘッド70、72によって生成された符合化されたアナログ信号を増幅して、増幅され符合化されたアナログ信号を、読み出し/書き込みチャネルモジュール86、90に転送することを含む。
【0062】
HDDシステム10を、様々な方法を用いて動作させてもよく、例えば、
図3〜5を参照して説明される方法に似よってHDDシステム10を動作させてもよい。
図3には、セルフサーボ書き込み方法が示されている。以下に示すタスクを、主に
図1〜2の実装形態を参照して説明するが、本開示の別の実装形態に適用させるべく、タスクを容易に変更することができる。タスクは、繰り返し実行されるものであってもよい。
図3の方法は、段階200から開始してもよい。方法は、従来のサーボトラックライタ(servo track writer)を使用せずに、HDDによってサーボパターンを書き込むことを含む。第1サーボパターンは、ディスク44の第1の側80に書き込まれ、第2サーボパターンは、ディスク44の第2の側82に書き込まれる。
【0063】
段階202において、バッファ管理モジュール32は、ディスク44に書き込まれるサーボデータを生成及び/又はサーボデータにアクセスしてもよい。サーボデータは、クロック信号に基づいて生成されてもよいし、例えば、不揮発性メモリ18及び/又は不揮発性メモリ50から取得されてもよい。不揮発性メモリ18に格納されるサーボデータを、ホストインターフェース16を介して、ホスト22から受信してもよい。
【0064】
段階204において、サーボデータが逆多重化されてもよい、及び/又は、バッファ管理モジュール32からHDCモジュール84、88へと供給されてもよい。
【0065】
段階206において、サーボモータモジュール74は、ヘッドアセンブリ46を配置させる。サーボモータモジュール74は、読み出し/書き込みチャネルモジュール86、90によって生成されたサーボフィードバック信号、前に書き込まれたスパイラル又はセクショナルサーボトラック、同期マーク及び/又はその他のディスク44に前に書き込まれた開始マークに基づいて、ヘッドアセンブリ46を位置させてもよい。サーボフィードバック信号は、ディスク44に前にスパイラルサーボトラック又はセクショナルサーボトラックとして書き込まれた位置情報及びタイミング情報に基づいて生成されてもよい。位置及びタイミング情報に基づいて、ヘッドアセンブリ46が配置されもよい。タイミング情報は、読み出し/書き込みヘッドの現在の半径方向及び円周方向の位置を判断するのに使用されてもよい。
【0066】
段階208において、サーボヘッドモジュール76、78は、ディスク44に対して及びサーボデータを書き込むアクチュエータアーム116に対して、一対のトラック上にヘッド70、72を位置させる。サーボヘッドモジュール76、78は、読み出し/書き込みチャネルモジュール86、90によって生成されたサーボフィードバック信号、前に書き込まれたスパイラル又はセクショナルサーボトラック、スパイラル又はセクショナルサーボトラックと関連付けられた位置及びタイミング情報、同期マーク、及び/又は、ディスク44に前に書き込まれたその他の開始マークに基づいて、ヘッド70、72を位置させてもよい。
【0067】
段階210において、HDCモジュール84、88は、サーボデータを、読み出し/書き込みチャネルモジュール86、90に転送する。第1HDCモジュール84は、第1サーボデータを第1読み出し/書き込みチャネルモジュール86に転送し、第2HDCモジュール88は、第2サーボデータを第2読み出し/書き込みチャネルモジュール90に転送してもよい。
【0068】
段階212において、アンプモジュール100、102は、サーボデータを、タイミング情報に基いて、ディスク44の第1の側80及び第2の側82の両方に書き込む。第1アンプモジュール100は、第1ヘッド70を介して、第1サーボデータを第1面又は第1の側80に書き込み、第2アンプモジュール102は、第2ヘッド72を介して、第2サーボデータを第2面又は第2の側82に書き込む。これは、サーボトラックを書き込むこと、又は、第1の側80及び第2の側82それぞれの同心円上のユーザデータトラックにサーボデータ(サーボウェッジ(servo wedge))を書き込むことを含んでもよい。
【0069】
段階214において、バッファ管理モジュール32は、更なるサーボデータをディスク44に書き込むべきかを判断してもよい。バッファ管理モジュール32は、ディスク44に書き込むべき更なるサーボデータが存在する場合には、タスク202に戻ってもよい。ディスク44に書き込むべき更なるサーボデータが存在しない場合には、方法は、段階216で終了する。
【0070】
図4には、HDDシステム(例えば、HDDシステム10)を試験する方法が示されている。この方法は、欠陥スキャン又はその他のテスト手段が実行される時に使用されてもよい。以下に示すタスクを、主に
図1〜2の実装形態を参照して説明するが、本開示の別の実装形態に適用させるべく、タスクを容易に変更することができる。タスクは、繰り返し実行されるものであってもよい。また、全てのタスクを実行する必要はなく、以下で示されるのとは異なる順番で実行することができる。
図4の方法は、段階250で開始される。
【0071】
段階252において、ホストインターフェース16を介して試験装置(又はホスト)からテストデータが受信される、及び/又は、ディスク44にテストデータを書き込むコマンド信号が受信される。段階254では、バッファ管理モジュール32は、揮発性メモリ(又はバッファ)18にテストデータを記憶する。段階256において、バッファ管理モジュール32は、コマンド信号に基いて、テストデータを逆多重化する、及び/又は、バッファ18からHDCモジュール84、88へとテストデータを転送する。一実装形態では、バッファ管理モジュール32は、複数の第1セクタ(例えば、一連のセクタのうちの奇数のセクタ)を、第1HDCモジュール84に転送して、複数の第2セクタ(例えば、一連のセクタのうちの偶数のセクタ)を、第2HDCモジュール88に転送してもよい。奇数のセクタは、奇数の物理的セクタ番号(PSN)を有するセクタを指してもよい。偶数のセクタは、偶数のPSNを有するセクタを指してもよい。別の実装形態では、バッファ管理モジュール32は、第1セクタの第1部分又は一連のセクタの複数の第1部分を、第1HDCモジュール84に転送し、第1セクタの第2部分、第2セクタの第1部分又は一連のセクタの複数の第2部分を、第2HDCモジュール88に転送する。
【0072】
段階258では、サーボモータモジュール74は、ヘッドアセンブリ46を位置させる。サーボモータモジュール74は、読み出し/書き込みチャネルモジュール86、90から受信されたサーボフィードバック信号に基いて、ヘッドアセンブリ46を位置させてもよい。段階260では、サーボヘッドモジュール76、78は、サーボフィードバック信号に基いて、ディスク44に対して及びアクチュエータアーム116に対して、一対のトラック上にヘッド70、72を位置させる。
【0073】
段階262において、HDCモジュール84、88は、サーボデータを、読み出し/書き込みチャネルモジュール86、90に転送する。これは、例えば、奇数のセクタを第1読み出し/書き込みチャネルモジュール86に転送し、偶数のセクタを第2読み出し/書き込みチャネルモジュール90に転送することを含む。これに替えて、第1セクタの第1部分又は一連のセクタの複数の第1部分を、第1読み出し/書き込みチャネルモジュール86に転送してもよく、第1セクタの第2部分、第2セクタの第1部分又は一連のセクタの複数の第2部分を、第2み出し/書き込みチャネルモジュール90に転送してもよい。
【0074】
段階264において、読み出し/書き込みチャネルモジュール86、90は、HDCモジュール84、88から受信した一連のセクタのテストデータを符合化してもよい。符合化は、各セクタのテストデータに、誤り訂正符号(ECC)を付加することを含む。ECCデータは、読み出し/書き込みチャネルモジュール86、90に転送されるセクタの各部分及び/又は各セクタに付加されてもよい。例えば、ECCデータが、エンコーダ142、144の対応する一方によって、奇数セクタのそれぞれ及び偶数セクタのそれぞれに付加されてもよい。別の例として、第1エンコーダ142を介して、第1セクタの第1部分に第1ECCデータが付加され、第2エンコーダ144を介して、第1セクタの第2部分に第2ECCデータが付加されてもよい。ECCデータを、テストデータのその他のセクタの部分に同様に付加してもよい。
【0075】
段階266において、アンプモジュール100、102は、テストデータ及びECCデータを、ヘッド70、72を介して、同じ期間に第1の側80及び第2の側82の両方に書き込む。第1アンプモジュール100は、第1テストデータ及び第1ECCデータを第1の側80に書き込み、第2アンプモジュール102は、第2テストデータ及び第2ECCデータを第2の側82に書き込む。第1テストデータは、1以上のセクタを含んでもよいし、セクタの一部分のみを含んでもよい。第2テストデータは、1以上のセクタを含んでもよいし、セクタの一部分のみを含んでもよい。
【0076】
段階268では、サーボモータモジュール74が、バッファ管理モジュール32から受信した制御信号に基いて、読み出しオペレーションのために、ヘッドアセンブリ46を位置させる。制御信号は、試験装置から受け取った第2コマンド信号に基いて生成されてもよい。ヘッドアセンブリ46を、サーボフィードバック信号に基いて位置させてもよい。段階270では、サーボヘッドモジュール76、78は、サーボフィードバック信号に基いて、ディスク44に対して及びアクチュエータアーム116に対して、一対のトラック上にヘッド70、72を位置させる。
【0077】
段階272では、アンプモジュール100、102は、ディスク44の両面から、同期間にテストデータを読み出す。第1アンプモジュール100は、第1の側80から第1テストデータを読み出し、第2アンプモジュール102は、第2の側82から第2テストデータを読み出す。段階274において、読み出し/書き込みチャネルモジュール86、90は、デコーダ146、148を介してテストデータを復号化し、書き込みオペレーションの間に付加されたECCデータを除去する。第1デコーダ146は、第1テストデータを復号化し、第2デコーダ148は、第2テストデータを復号化してもよい。
【0078】
段階276において、同期間に、復号化されたテストデータは、読み出し/書き込みチャネルモジュール86、90から、HDCモジュール84、88へと転送される。段階278では、バッファ管理モジュール32は、テストデータ(第1テストデータ及び第2テストデータを含む)を多重化する及び/又はテストデータをバッファ18に転送する。
【0079】
段階280では、バッファ管理モジュール32からバッファ18へと転送されたテストデータが、ホストインターフェース16を介して試験装置へと戻される。段階282では、試験装置は、テストデータを評価する。これは、HDDから受け取ったテストデータと、HDDに転送された元のテストデータとを比較することを含んでもよい。段階284において、バッファ管理モジュール32は、更なるテストデータをディスク44に転送するべきかを判断してもよい。ディスク44に転送すべき更なるテストデータが存在する場合には、タスク252が実行され、存在しない場合には、方法が段階286で終了してもよい。
【0080】
第1の側80と第2の側82の両方に、全セクタのテストデータを格納するべくタスク268を実行する前に、タスク252〜266を繰り返し実行してもよい。第1の側80と第2の側82の両方のセクタ全てが満たされた後で、タスク268〜282を繰り返し実行してもよい。
【0081】
図5には、HDDシステム(例えば、HDDシステム10)を動作させる方法が示されている。以下に示すタスクを、主に
図1〜2の実装形態を参照して説明するが、本開示の別の実装形態に適用させるべく、タスクを容易に変更することができる。タスクは、繰り返し実行されるものであってもよい。
図5の方法は、段階300から開始してもよい。また、全てのタスクを実行する必要はなく、以下で示されるのとは異なる順番で実行することができる。
【0082】
段階302において、HDDは、ホスト22から、書き込みオペレーション又は読み出しオペレーションを実行するコマンド信号を受信する。タスク304〜320は、HDDが書き込みオペレーションを実行する場合に実行される。タスク324〜338は、HDDが読み出しオペレーションを実行する場合に実行される。
【0083】
段階304において、ユーザは、ホストインターフェース16を介して、ホスト22からユーザデータを受け取る。段階306において、バッファ管理モジュール32は、揮発性メモリ(又はバッファ)18にユーザデータを記憶する。段階308において、バッファ管理モジュール32は、コマンド信号に基いて、テストデータを逆多重化する、及び/又は、バッファ18からHDCモジュール84、88へとユーザデータを転送する。一実装形態では、バッファ管理モジュール32は、複数の第1セクタ(例えば、一連のセクタのうちの奇数のセクタ)を、第1HDCモジュール84に転送して、複数の第2セクタ(例えば、一連のセクタのうちの偶数のセクタ)を、第2HDCモジュール88に転送してもよい。別の実装形態では、バッファ管理モジュール32は、第1セクタの第1部分又は一連のセクタの複数の第1部分を、第1HDCモジュール84に転送し、第1セクタの第2部分、第2セクタの第1部分又は一連のセクタの複数の第2部分を、第2HDCモジュール88に転送する。
【0084】
段階310では、サーボモータモジュール74は、ヘッドアセンブリ46を位置させる。サーボモータモジュール74は、読み出し/書き込みチャネルモジュール86、90から受信されたサーボフィードバック信号に基いて、ヘッドアセンブリ46を位置させてもよい。段階312では、サーボヘッドモジュール76、78は、サーボフィードバック信号に基いて、ディスク44に対して及びアクチュエータアーム116に対して、一対のトラック上にヘッド70、72を位置させる。
【0085】
段階314において、HDCモジュール84、88は、ユーザデータを、読み出し/書き込みチャネルモジュール86、90に転送する。これは、例えば、奇数のセクタを第1読み出し/書き込みチャネルモジュール86に転送し、偶数のセクタを第2読み出し/書き込みチャネルモジュール90に転送することを含む。これに替えて、第1セクタの第1部分又は一連のセクタの複数の第1部分を、第1読み出し/書き込みチャネルモジュール86に転送してもよく、第1セクタの第2部分、第2セクタの第1部分又は一連のセクタの複数の第2部分を、第2み出し/書き込みチャネルモジュール90に転送してもよい。
【0086】
段階316において、読み出し/書き込みチャネルモジュール86、90は、HDCモジュール84、88から受信した一連のセクタのユーザデータを符合化してもよい。符合化は、各セクタのテストデータに、誤り訂正符号(ECC)を付加することを含む。ECCデータは、読み出し/書き込みチャネルモジュール86、90に転送されるセクタの各部分及び/又は各セクタに付加されてもよい。例えば、ECCデータが、エンコーダ142、144の対応する一方によって、奇数セクタのそれぞれ及び偶数セクタのそれぞれに付加されてもよい。別の例として、第1エンコーダ142を介して、第1セクタの第1部分に第1ECCデータが付加され、第2エンコーダ144を介して、第1セクタの第2部分に第2ECCデータが付加されてもよい。ECCデータを、ユーザデータのその他のセクタの部分に同様に付加してもよい。
【0087】
段階318において、アンプモジュール100、102は、ヘッド70、72を介して、同じ期間に、ユーザデータ及びECCデータを第1の側80及び第2の側82の両方に書き込む。第1アンプモジュール100は、第1ユーザデータ及び第1ECCデータを第1の側80に書き込み、第2アンプモジュール102は、第2ユーザデータ及び第2ECCデータを第2の側82に書き込む。第1ユーザデータは、1以上のセクタを含んでもよいし、セクタの一部分のみを含んでもよい。第2ユーザデータは、1以上のセクタを含んでもよいし、セクタの一部分のみを含んでもよい。
【0088】
段階320において、バッファ管理モジュール32は、ディスク44に書き込むべき更なるユーザデータが存在するかを判断してもよい。ディスク44に書き込むべき更なるユーザデータが存在する場合には、タスク304が実行され、存在しない場合には、方法が段階322で終了してもよい。
【0089】
段階324では、サーボモータモジュール74が、バッファ管理モジュール32から受信した制御信号に基いて、読み出しオペレーションのために、ヘッドアセンブリ46を位置させる。制御信号は、ホスト22から受け取った第2コマンド信号に基いて生成されてもよい。ヘッドアセンブリ46を、サーボフィードバック信号に基いて位置させてもよい。段階326では、サーボヘッドモジュール76、78は、サーボフィードバック信号に基いて、ディスク44に対して及びアクチュエータアーム116に対して、一対のトラック上にヘッド70、72を位置させる。
【0090】
段階328では、アンプモジュール100、102は、ディスク両面80、82から、同じ期間にユーザデータを読み出す。第1アンプモジュール100は、第1の側80から第1ユーザデータを読み出し、第2アンプモジュール102は、第2の側82から第2ユーザデータを読み出す。段階330において、読み出し/書き込みチャネルモジュール86、90は、デコーダ146、148を介してユーザデータを復号化し、書き込みオペレーションの間に付加されたECCデータを除去する。第1デコーダ146は、第1ユーザデータを復号化し、第2デコーダ148は、第2ユーザデータを復号化してもよい。
【0091】
段階332において、同期間に、復号化されたテストデータは、読み出し/書き込みチャネルモジュール86、90から、HDCモジュール84、88へと転送される。段階334では、バッファ管理モジュール32は、テストデータ(第1テストデータ及び第2テストデータを含む)を多重化する及び/又はテストデータを転送する。
【0092】
段階336では、バッファ管理モジュール32からバッファ18へと転送されたテストデータが、ホストインターフェース16を介してホスト22へと転送される。段階338において、バッファ管理モジュール32は、更なるユーザデータをディスク44から読み出すべきかの判断を行ってもよい。ディスク44から読み出すべき更なるユーザデータが存在する場合には、タスク324が実行され、存在しない場合には、方法が段階322で終了してもよい。
【0093】
図3から
図5に記載されたタスクは一例であり、タスクは、アプリケーションに応じて、順に、同期して、同時に、連続して、重複する期間で又は異なる順番で実行されてもよい。また、実装形態及び/又はイベントシーケンスに応じて、上記のタスクのうちの任意のタスクが実行されなくてもよいし、任意のタスクを実行せずに次のタスクを実行してもよい。
【0094】
上記の方法は、同期間に、ディスクの両側からの読み出し及び/又は書き込みを行うべく、VCM及びヘッドアクチュエータの2段階駆動することを含む。ヘッドアセンブリは、最初にヘッド位置の粗い調整を行うべく移動され、その後で、細かな調整を行うべく、ディスクの両側にそれぞれ設けられたヘッドを、ディスクに対して及びアクチュエータアームに対して移動させる。ヘッドアセンブリは、ヘッドそれぞれのストロークよりも大きなストローク(最大変位)を有してもよい。ヘッドのストロークは、ヘッドアセンブリのストロークよりも限られた大きさであるが、ヘッドがディスクの複数のトラックに渡って移動可能なような大きさを有し、ディスクのピッチも小さい。したがって、トラックの中心に沿って(トラック追従モード)ヘッドを配置することができ、現在の位置又はトラックから、目的のトラック(トラック探索モード)へのヘッドの移動を高速で行うことができる。
【0095】
上記したシステム及び方法では、同期間にディスクの両面にデータを書き込むこと及び読み込むことを含むため、一度にディスクの一方の面にのみ書き込み又は読み出しを行っていた従来のシステムと比較して、HDDからの及びHDDへのデータレートが2倍になる。従来のHDDと比較して、スピンドルモータの速度(すなわち、ディスクの回転速度)を変更することなく、データレートを2倍にできると考えられる。HDDを低消費電力で抑える必要があるアプリケーションの場合、消費電力を抑えるべくHDDのスピンドル速度を半分にしたとしても、従来のHDDと比較して同程度のデータレートを維持できる又は向上させることができる。ディスクの回転速度を下げても、データレートを維持できる又は向上させることができるということは、HDDの電子的問題が低減されると同時に、ディスクへの書き込み又はディスクからの読み出しのときに生成される信号の信号対雑音比(SNR)を大きくすることができる。
【0096】
上記のシステム及び対応する方法によれば、HDDのコストを下げることができる。システムは、同期間にディスクの両面に平行して書き込みを行う又は読み出しを行うことを含む、セルフサーボ書き込みプロセス及び試験プロセスを実行する。これにより、セルフサーボ書き込みプロセス、欠陥スキャンプロセス及びその他の試験プロセスに掛かる時間を短くすることができる。
【0097】
また、ディスクの両側からデータの読み出しが行われる又はディスクの両側にデータの書き込みが行われることから、本明細書に記載されたようなバッファ管理モジュール、HDCモジュール及び/又は読み出し/書き込みモジュールは、従来のHDDモジュールと比較して、良好にユーザデータを復元することができる。例えば、欠陥がディスクの一方の側にのみ存在する場合に、データの復元を良好に行うことができる。開示されたバッファ管理モジュール、HDCモジュール及び読み出し/書き込みチャネルモジュールは、ディスクの第1の側の第1セクタの第1部分を、第1セクタの第2部分及び/又はディスクの何れかの側に書き込まれたその他の隣接するセクタに基いて、復元することができる。隣接するセクタとは、複数の一連のセクタにおいて、欠陥が生じたセクタに連続して前方に位置するセクタ又は連続して後方に位置するセクタを指す。
【0098】
本明細書に記載される装置及び方法は、1以上のプロセッサによって実行される1以上のコンピュータプログラムによって実装されてもよい。コンピュータプログラムは、一時的でない有形コンピュータ可読媒体に格納されるプロセッサ実行可能命令を含む。コンピュータプログラムはまた、格納されたデータを含んでもよい。一時的でない有形コンピュータ可読媒体の非制限的例として、不揮発性メモリ、磁気記憶装置及び光学記憶装置が挙げられる。
[項目1]
ハードディスクドライブシステムであって、
ハードディスクアセンブリのディスクの第1面から読み出しを行う場合又は前記ディスクの前記第1面に書き込みを行う場合に、前記ハードディスクアセンブリの第1アンプモジュールから第1データを受信する又は前記第1アンプモジュールへと前記第1データを転送する第1チャネルモジュールと、
前記第1チャネルモジュールが前記第1アンプモジュールから前記第1データを受信する又は前記第1アンプモジュールへと前記第1データを転送する間に、前記ディスクの第2面から読み出しを行う場合又は前記ディスクの前記第2面に書き込みを行う場合に、前記ハードディスクアセンブリの第2アンプモジュールから第2データを受信する又は前記第2アンプモジュールへと前記第2データを転送する第2チャネルモジュールとを備え、
前記第1チャネルモジュールは、第1セクタの第1部分を、前記ディスクの前記第1面に書き込み、
前記第2チャネルモジュールは、前記第1セクタの前記第1部分とは異なる第2部分を、前記ディスクの前記第2面に書き込み、
前記ディスクの前記第1面に書き込まれた前記第1セクタの前記第1部分が欠陥を有する場合、前記第1チャネルモジュールは、前記ディスクの前記第2面に書き込まれた前記第1セクタの前記第2部分に基づいて、前記ディスクの前記第1面の前記第1セクタの前記第1部分を復元するハードディスクドライブシステム。
[項目2]
バッファからデータの複数のセクタを受信する、又は、前記データの複数のセクタを前記バッファに転送するバッファ管理モジュールを更に備え、
前記データの複数のセクタは、前記第1データ及び前記第2データを含む項目1に記載のハードディスクドライブシステム。
[項目3]
前記バッファ管理モジュールは、前記第1面及び前記第2面からの読み出し又は前記第1面及び前記第2面への書き込みがおこなわれる場合、前記バッファ内での、前記第1データ及び前記第2データの位置を追跡する項目2に記載のハードディスクドライブシステム。
[項目4]
前記バッファ管理モジュールは、
前記バッファと第1制御モジュールとの間で、前記第1データを転送する第1アクセスモジュールと、
前記第1アクセスモジュールが前記バッファと前記第1制御モジュールとの間で前記第1データを転送する間に、前記バッファと第2制御モジュールとの間で前記第2データを転送する第2アクセスモジュールとを有する項目2又は3に記載のハードディスクドライブシステム。
[項目5]
前記第1制御モジュールは、
前記ディスクの前記第1面における欠陥を有するセクタをマッピングする第1欠陥モジュールと、
前記ディスクの前記第1面から前記第1データが読み出されたアクセス位置又は前記ディスクの前記第1面に前記第1データが書き込まれたアクセス位置を追跡する第1セクタ追跡モジュールと、
前記第1データの第1フォーマットを追跡する第1フォーマットモジュールとを含み、
前記第2制御モジュールは、
前記ディスクの前記第2面における欠陥を有するセクタをマッピングする第2欠陥モジュールと、
前記ディスクの前記第2面から前記第2データが読み出されたアクセス位置又は前記ディスクの前記第2面に前記第2データが書き込まれたアクセス位置を追跡する第2セクタ追跡モジュールと、
前記第2データの第2フォーマットを追跡する第2フォーマットモジュールとを含み、
前記第1チャネルモジュール及び前記第2チャネルモジュールのうちの少なくとも1つは、前記ディスクの前記第1面の前記欠陥を有するセクタのマップ及び前記ディスクの前記第2面の前記欠陥を有するセクタのマップに基づいて、前記ディスクの全容量をホストに報告する項目4に記載のハードディスクドライブシステム。
[項目6]
前記第1チャネルモジュールは、前記第2チャネルモジュールが前記第2面から前記第2データを読み出す間に、前記第1面から前記第1データを読み出す項目1から5の何れか一項に記載のハードディスクドライブシステム。
[項目7]
前記第1チャネルモジュールは、前記第2チャネルモジュールが前記第2面に前記第2データを書き込む間に、前記第1面に前記第1データを書き込む項目1から5の何れか一項に記載のハードディスクドライブシステム。
[項目8]
前記第1面は、前記ディスクの第1の側であり、
前記第2面は、前記第1面に対向し、前記ディスクの第2の側である項目1から7の何れか一項に記載のハードディスクドライブシステム。
[項目9]
前記ハードディスクアセンブリを更に備え、
前記ハードディスクアセンブリは、
前記第1面から前記第1データを読み出す又は前記第1面に前記第1データを書き込む第1ヘッドと、
前記第1ヘッドが前記第1面から前記第1データを読み出す又は前記第1面に前記第1データを書き込むと同時に、前記第2面から前記第2データを読み出す又は前記第2面に前記第2データを書き込む第2ヘッドとを有する項目1から8の何れか一項に記載のハードディスクドライブシステム。
[項目10]
前記第1チャネルモジュールからの第1フィードバック信号に基づいて、第1サーボ信号を生成する第1サーボヘッドモジュールと、
前記第1サーボ信号に基づいて、前記第1ヘッドの第1アクチュエータを駆動する第1ドライバモジュールと、
前記第2チャネルモジュールからの第2フィードバック信号に基づいて、第2サーボ信号を生成する第2サーボヘッドモジュールと、
前記第1ドライバモジュールが前記第1アクチュエータを駆動する間に、前記第2サーボ信号に基づいて、前記第2ヘッドの第2アクチュエータを駆動する第2ドライバモジュールとを更に備える項目9に記載のハードディスクドライブシステム。
[項目11]
第2サーボ書き込み信号を生成する間に、第1サーボ書き込み信号を生成するセルフサーボ書き込みモジュールを更に備え、
前記第1チャネルモジュールは、第1サーボデータを前記第1面に書き込み、
前記第2チャネルモジュールは、前記第1チャネルモジュールが前記第1サーボデータを前記第1面に書き込む間に、前記第2面に第2サーボデータを書き込む項目1から9の何れか一項に記載のハードディスクドライブシステム。
[項目12]
前記第1チャネルモジュール及び前記第2チャネルモジュールは、セルフサーボ書き込みプロセスを実行し、
前記セルフサーボ書き込みプロセスの間に、前記第1チャネルモジュールは、前記第2チャネルモジュールが、第2ヘッドを介して前記ディスクの前記第2面に書き込みを行う間、第1ヘッドを介して前記ディスクの前記第1面に書き込みを行い、項目1から9の何れか一項に記載のハードディスクドライブシステム。
[項目13]
前記第1チャネルモジュール及び前記第2チャネルモジュールは、試験プロセスを実行し、
前記試験プロセスの間に、前記第1チャネルモジュールは、前記第2チャネルモジュールが、第2ヘッドを介して前記ディスクの前記第2面に書き込みを行う又は前記第2面からの読み出しを行う間、第1ヘッドを介して前記ディスクの前記第1面に書き込みを行う又は前記第1面からの読み出しを行う、項目1から9の何れか一項に記載のハードディスクドライブシステム。
[項目14]
ハードディスクドライブシステムを動作させる方法であって、
ハードディスクアセンブリのディスクの第1面から読み出しを行う場合又は前記ディスクの前記第1面に書き込みを行う場合に、第1チャネルモジュールを介して、前記ハードディスクアセンブリの第1アンプモジュールから第1データを受信する又は前記第1アンプモジュールに前記第1データを転送する段階と、
前記第1チャネルモジュールを介して、前記ディスクの前記第1面に、第1セクタの第1部分を書き込む段階と、
前記第1チャネルモジュールを介して前記第1アンプモジュールから前記第1データを受信する又は前記第1アンプモジュールに前記第1データを転送する間に、前記ディスクの第2面への書き込み又は前記第2面からの読み出しを行う場合に、第2チャネルモジュールを介して、前記ハードディスクアセンブリの第2アンプモジュールから第2データを受信する又は前記第2アンプモジュールへと前記第2データを転送する段階と、
前記第2チャネルモジュールを介して、前記ディスクの前記第2面に、前記第1セクタの前記第1部分とは異なる第2部分を書き込む段階と、
前記ディスクの前記第1面に書き込まれた前記第1セクタの前記第1部分が欠陥を有する場合、前記第1チャネルモジュールを介して、前記ディスクの前記第2面に書き込まれた前記第1セクタの前記第2部分に基づいて、前記ディスクの前記第1面に書き込まれた前記第1セクタの前記第1部分を復元する段階とを備える方法。
[項目15]
ホストインターフェースを介して、ホストから前記ハードディスクドライブシステムへと転送されるコマンド信号を、前記ホストから受信する段階と、
前記コマンド信号に基づいて、バッファ管理モジュールを介して、データの複数のセクタをバッファから受信する又は前記データの複数のセクタを前記バッファに転送する段階とを更に備え、
前記データの複数のセクタは、前記第1データ及び前記第2データを含む項目14に記載の方法。
[項目16]
前記第1チャネルモジュールから第1フィードバック信号に基づいて、第1サーボ信号を生成する段階と、
前記第1サーボ信号に基づいて第1ヘッドの第1アクチュエータを駆動する段階と、
前記第2チャネルモジュールからの第2フィードバック信号に基づいて第2サーボ信号を生成する段階と、
前記第1アクチュエータを駆動する段階の間に、前記第2サーボ信号に基づいて第2ヘッドの第2アクチュエータを駆動する段階と、
前記第1チャネルモジュールからの前記第1フィードバック信号及び前記第2チャネルモジュールからの前記第2フィードバック信号のうちの少なくとも1つに基づいて、第1制御信号を生成する段階と、
前記第1制御信号に基づいて、ヘッドアセンブリを駆動する第2制御信号を生成する段階とを更に備え、
前記ヘッドアセンブリは、前記第1ヘッド及び前記第2ヘッドを含む項目15に記載の方法。
[項目17]
セルフサーボ書き込みプロセスを実行する段階と、
前記セルフサーボ書き込みプロセスの間に、前記第2チャネルモジュールを使用して第2ヘッドを介して前記ディスクの前記第2面に書き込みを行う間、前記第1チャネルモジュールを使用して第1ヘッドを介して前記ディスクの前記第1面に書き込みを行う段階とを更に備える項目14又は15に記載の方法。
[項目18]
試験プロセスを実行する段階と、
前記試験プロセスの間に、前記第2チャネルモジュールを使用して第2ヘッドを介して前記ディスクの前記第2面に書き込みを行う又は前記第2面から読み出しを行う間、前記第1チャネルモジュールを使用して第1ヘッドを介して前記ディスクの前記第1面に書き込みを行う又は前記第1面から読み出しを行う段階とを更に備える項目14又は15に記載の方法。