(57)【要約】【課題】デコーダを提供する。【解決手段】入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力するための第１デコーダと、指示データによって、決定データを含むシンボルに対してエラー訂正を行うための第２デコーダと、を含むデコーダ。【選択図】図２
2011181169.tif 000002
【特許請求の範囲】
【請求項１】
入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力するための第１デコーダと、
前記指示データによって、前記決定データを含むシンボルに対してエラー訂正を行う第２デコーダと、
を含むことを特徴とするデコーダ。
【請求項２】
前記第１デコーダは、
前記入力データを反復復号して、前記反復復号されたデータを出力するための反復デコーダと、
前記反復復号されたデータを前記ビット単位で累算し、前記累算された値が、前記複数の基準値のうちから第１基準値より小さい時、第１データを前記決定データとして出力し、前記第１基準値より大きい第２基準値より大きい時、第２データを前記決定データとして出力し、前記第１基準値と前記第２基準値との間の値である時、前記指示データとともに第３データを前記決定データとして出力するための決定回路と、
を含むことを特徴とする請求項１に記載のデコーダ。
【請求項３】
前記第１デコーダは、
前記第２デコーダから出力された制御信号に応答して、前記反復復号されたデータを前記第２デコーダに伝送するか、または前記決定回路に伝送するためのスイッチング回路をさらに含むことを特徴とする請求項２に記載のデコーダ。
【請求項４】
前記第１デコーダは、
前記反復復号されたデータを出力するための反復デコーダと、
前記反復デコーダの出力端に接続されたデマルチプレクサと、
前記デマルチプレクサの第２出力端から出力された前記反復復号されたデータを前記ビット単位で累算して、前記累算された値を出力するための累算器と、
前記累算された値が、前記複数の基準値のうちから第１基準値より小さい時、第１データを前記決定データとして出力し、前記第１基準値より大きい第２基準値より大きい時、第２データを前記決定データとして出力し、前記第１基準値と前記第２基準値との間の値である時、第３データを前記決定データとして出力するための決定ユニットと、
前記デマルチプレクサの第１出力端から出力される前記反復復号データまたは前記決定データを前記第２デコーダに伝送するためのマルチプレクサと、
を含むことを特徴とする請求項１に記載のデコーダ。
【請求項５】
前記第１デコーダから出力された前記反復復号されたデータにアンコレクタブルエラーが存在する時、前記第２デコーダは、前記反復復号されたデータをビット単位で累算する前に、前記第１デコーダの反復復号回数を増加させるための制御信号を前記第１デコーダに伝送し、
前記第１デコーダは、前記制御信号に応答して増加した反復復号回数だけ前記反復復号データをビット単位で累算することを特徴とする請求項１に記載のデコーダ。
【請求項６】
請求項１に記載のデコーダと、
前記デコーダによってエラー訂正されたデータを処理するためのプロセッサと、
を含むことを特徴とするデータ処理システム。
【請求項７】
入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力するための第１デコーダと、
前記指示データによって、前記決定データを含むシンボルに対してエラー訂正を行う第２デコーダと、
を含むことを特徴とするハードディスクドライブの動作を制御するためのコントローラ。
【請求項８】
ディスクと、
前記ディスクにライトされたアナログ信号をリードするためのヘッドと、
前記ヘッドによってリードされたアナログ信号を増幅するための前置増幅器と、
コントローラと、を含み、前記コントローラは、
前記前置増幅器から出力されたアナログ信号に相応する入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力するための第１デコーダと、
前記指示データによって、前記決定データを含むシンボルに対してエラー訂正を行う第２デコーダと、
を含むことを特徴とするハードディスクドライブ。
【請求項９】
請求項８に記載のハードディスクドライブと、
前記ハードディスクドライブの第２デコーダによってエラー訂正されたデータを処理することができるホストと、
を含むことを特徴とするコンピュータシステム。
【請求項１０】
前記第１デコーダは、
前記入力データを反復復号して、前記反復復号されたデータを出力するための反復デコーダと、
前記反復復号されたデータを前記ビット単位で累算し、前記累算された値が、前記複数の基準値のうちから第１基準値より小さい時、第１データを前記決定データとして出力し、前記第１基準値より大きい第２基準値より大きい時、第２データを前記決定データとして出力し、前記第１基準値と前記第２基準値との間の値である時、前記指示データとともに第３データを前記決定データとして出力するための決定回路と、
を含むことを特徴とする請求項９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デコーダに係り、特に、ＢＥＲ（Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ）を改善しうるデコーダと該デコーダを含む装置に関する。
【背景技術】
【０００２】
反復デコーダ（ｉｔｅｒａｔｉｖｅ  ｄｅｃｏｄｅｒ）は、デフォルトで指定された反復復号回数の範囲内で入力データに対する反復復号を行い、該反復復号されたデータをＲＳ（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）−ＥＣＣデコーダ（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ  ｄｅｃｏｄｅｒ）に伝送する。ＲＳ−ＥＣＣデコーダは、反復デコーダによって反復復号されたデータに対してエラー訂正を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする技術的な課題は、累算器を用いてビット単位で反復復号されたデータを推定すると同時に、エラーが発生したシンボルについての情報を用いてエラーを訂正することができるデコーダと該デコーダを含む装置を提供するところにある。
【課題を解決するための手段】
【０００４】
本発明の実施形態によるデコーダは、入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力するための第１デコーダと、前記指示データによって、前記決定データを含むシンボルに対してエラー訂正を行う第２デコーダと、を含む。
【０００５】
実施形態によって、前記第１デコーダは、前記入力データを反復復号して、前記反復復号されたデータを出力するための反復デコーダと、前記反復復号されたデータを前記ビット単位で累算し、前記累算された値が、前記複数の基準値のうちから第１基準値より小さい時、第１データを前記決定データとして出力し、前記第１基準値より大きい第２基準値より大きい時、第２データを前記決定データとして出力し、前記第１基準値と前記第２基準値との間の値である時、前記指示データとともに第３データを前記決定データとして出力するための決定回路と、を含む。
【０００６】
前記第１デコーダは、前記第２デコーダから出力された制御信号に応答して、前記反復復号されたデータを前記第２デコーダに伝送するか、または前記決定回路に伝送するためのスイッチング回路をさらに含む。
【０００７】
他の実施形態によって、前記第１デコーダは、前記反復復号されたデータを出力するための反復デコーダと、前記反復デコーダの出力端に接続されたデマルチプレクサと、前記デマルチプレクサの第２出力端から出力された前記反復復号されたデータを前記ビット単位で累算して、前記累算された値を出力するための累算器と、前記累算された値が、前記複数の基準値のうちから第１基準値より小さい時、第１データを前記決定データとして出力し、前記第１基準値より大きい第２基準値より大きい時、第２データを前記決定データとして出力し、前記第１基準値と前記第２基準値との間の値である時、第３データを前記決定データとして出力するための決定ユニットと、前記デマルチプレクサの第１出力端から出力される前記反復復号データまたは前記決定データを前記第２デコーダに伝送するためのマルチプレクサと、を含む。
【０００８】
前記決定ユニットは、前記累算された値が、前記第１基準値と前記第２基準値との間の値である時、前記指示データを前記第２デコーダに伝送する。
【０００９】
前記決定ユニットは、前記累算された値が、前記第１基準値と前記第２基準値との間の値である時、フラグをさらに出力し、前記第１デコーダは、前記フラグに応答して、前記シンボルの位置情報を含む前記指示データを生成するためのエラーシンボル検出器をさらに含む。
【００１０】
前記反復デコーダは、前記第２デコーダから出力された制御信号に応答して、第１反復回数の範囲内で前記入力データを反復復号するか、または前記第１反復回数に追加的な第２反復復号回数の範囲内で前記入力データを反復復号する。
【００１１】
前記第１デコーダから出力された前記反復復号されたデータにアンコレクタブルエラーが存在する時、前記第２デコーダは、前記反復復号されたデータをビット単位で累算する前に、前記第１デコーダの反復復号回数を増加させるための制御信号を前記第１デコーダに伝送し、前記第１デコーダは、前記制御信号に応答して増加した反復復号回数だけ前記反復復号データをビット単位で累算する。
【００１２】
本発明の実施形態によるデータ処理システムは、前記デコーダと、前記デコーダによってエラー訂正されたデータを処理するためのプロセッサと、を含む。
【００１３】
本発明の実施形態によるハードディスクドライブの動作を制御するためのコントローラは、第１デコーダと第２デコーダとを含む。前記第１デコーダは、入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力する。前記第２デコーダは、前記指示データによって、前記決定データを含むシンボルに対してエラー訂正を行う。
【００１４】
前記コントローラは、前記入力データを反復復号して、前記反復復号されたデータを出力するための反復デコーダと、決定回路と、を含む。前記決定回路は、前記反復復号されたデータを前記ビット単位で累算し、前記累算された値が、前記複数の基準値のうちから第１基準値より小さい時、第１データを前記決定データとして出力し、前記第１基準値より大きい第２基準値より大きい時、第２データを前記決定データとして出力し、前記第１基準値と前記第２基準値との間の値である時、前記指示データとともに第３データを前記決定データとして出力する。
【００１５】
本発明の実施形態によるハードディスクドライブは、ディスクと、前記ディスクにライトされたアナログ信号をリードするためのヘッドと、前記ヘッドによってリードされたアナログ信号を増幅するための前置増幅器と、コントローラと、を含む。
【００１６】
前記コントローラは、第１デコーダと第２デコーダとを含む。
前記第１デコーダは、前記前置増幅器から出力されたアナログ信号に相応する入力データを反復復号し、該反復復号されたデータをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データと指示データとを出力する。
前記第２デコーダは、前記指示データによって、前記決定データを含むシンボルに対してエラー訂正を行う。
【００１７】
本発明の実施形態によるコンピュータシステムは、前記ハードディスクドライブと、前記ハードディスクドライブの第２デコーダによってエラー訂正されたデータを処理することができるホストと、を含む。
【発明の効果】
【００１８】
本発明によるデコーダは、リード動作を行う途中でアンコレクタブルエラー（ｕｎｃｏｒｒｅｃｔａｂｌｅ  ｅｒｒｏｒ）発生時に、反復復号回数を増加させてＢＥＲ（ＢｉｔＥｒｒｏｒ  Ｒａｔｅ）を改善しうる。
【図面の簡単な説明】
【００１９】
本発明の詳細な説明で引用される図面をより十分に理解するために、各図面の簡単な説明が提供される。
【図１】本発明の実施形態によるデコーダの概略的なブロック図。
【図２】図１に示されたデコーダの詳細ブロック図。
【図３】図２に示された反復デコーダの出力とアキュムレータの出力とを示す図。
【図４】図２に示された決定ユニットの決定動作を説明するための概念図。
【図５】図２に示された決定ユニットの出力信号を示す概念図。
【図６】図２に示された第１デコーダの動作を説明するためのフローチャート。
【図７】図１に示されたデコーダを含むデータ処理システムのブロック図。
【図８】図７に示されたデータ処理システムを含むコンピュータシステムのブロック図。
【発明を実施するための形態】
【００２０】
以下、添付した図面を参照して、本発明を詳しく説明する。
図１は、本発明の実施形態によるデコーダの概略的なブロック図を示す。
図１を参照すると、デコーダ１０は、第１デコーダ１１と第２デコーダ６０とを含む。
リード動作時に、第１デコーダ１１は、制御信号ＣＴＲＬに応答して入力データＩＤＡＴＡを定められた反復復号回数（例えば、［Ｎ−１］回）より増加した反復復号回数、例えば、Ｋ回だけさらに反復復号し、増加した反復復号回数ほどさらに反復復号されたデータＤＡＴＡをビット単位で累算し、該累算された値と複数の基準値とをそれぞれ比較し、該比較結果によって決定された決定データＭＤＡＴＡと指示データＳＬＩとを第２デコーダ６０に出力する。ここで、ＮとＫは、自然数である。
【００２１】
第１デコーダ１１は、第２デコーダ６０から出力された制御信号ＣＴＲＬに応答して反復復号回数を増加させることができる。制御信号ＣＴＲＬは、第１デコーダ１１によって定められた反復復号回数だけ反復復号されたデータ（ＤＡＴＡ＝ＭＤＡＴＡ）にアンコレクタブルエラーが存在する時、第２デコーダ６０によって発生することがある。
【００２２】
第２デコーダ６０は、指示データＳＬＩによって決定データＭＤＡＴＡを含むシンボル（ｓｙｍｂｏｌ）に対してシンボル単位でエラー訂正を行い、該エラー訂正されたデータＥＣＤＡＴＡを出力する。例えば、エラー訂正されたデータＥＣＤＡＴＡは、データプロセッサまたはホストに出力される。
【００２３】
本発明の実施形態によるデコーダ１０は、ハードディスクドライブだけではなく、リード動作時に、リードデータに対して反復復号（ｉｔｅｒａｔｉｖｅ  ｄｅｃｏｄｉｎｇ）を行い、リードデータに含まれたエラーを訂正するか、または検出することができるあらゆるデータ処理システムに使われる。
【００２４】
図２は、図１に示されたデコーダの詳細ブロック図を示し、図３は、図２に示された反復デコーダの出力と累算器の出力とを示し、図４は、図２に示された決定ユニットの決定動作を説明するための概念図であり、図５は、図２に示された決定ユニットの出力信号を示す概念図であり、図６は、図２に示された第１デコーダの動作を説明するためのフローチャートである。
【００２５】
まず、図２を参照すると、第１デコーダ１１は、反復デコーダ２０、スイッチング回路３０、及び決定回路４０を含む。
第２デコーダ６０から出力された制御信号ＣＴＲＬに応答して、反復デコーダ２０は、デフォルトで定められた反復復号回数、例えば、［Ｎ−１］−回以内で入力データＩＤＡＴＡに対する反復復号を行うか、または増加した反復復号回数、例えば、［Ｎ］−回から［Ｎ＋Ｋ−１］−回までＫ−回だけさらに入力データＩＤＡＴＡに対する反復復号を行うことができる。例えば、反復デコーダ２０は、第１レベル、例えば、ローレベルを有する制御信号ＣＴＲＬに応答して、［Ｎ−１］−回以内で入力データＩＤＡＴＡに対する反復復号を行うことができる。
【００２６】
また、アンコレクタブルエラー発生時に、反復デコーダ２０は、第２レベル、例えば、ハイレベルを有する制御信号ＣＴＲＬに応答して、［Ｎ］−回から［Ｎ＋Ｋ−１］−回までＫ−回だけさらに入力データＩＤＡＴＡに対する反復復号を行うことができる。例えば、第２デコーダ６０は、［Ｎ−１］−回以内で反復復号されたデータ（ＭＤＡＴＡ＝ＤＡＴＡ）にアンコレクタブルエラーが存在する時、ハイレベルを有する制御信号ＣＴＲＬを生成することができる。
【００２７】
スイッチング回路３０は、第１レベルを有する制御信号ＣＴＲＬに応答して、反復デコーダ２０によって反復復号されたデータ（ＭＤＡＴＡ＝ＤＡＴＡ）を第２デコーダ６０に伝送する。
また、スイッチング回路３０は、第２レベルを有する制御信号ＣＴＲＬに応答して、反復デコーダ２０によって反復復号されたデータＤＡＴＡを決定回路４０に伝送し、決定回路４０によって決定された決定データ（ＭＤＡＴＡ＝ＰＤＡＴＡ）を第２デコーダ６０に伝送する。
スイッチング回路３０は、デマルチプレクサ３２とマルチプレクサ３４とを含む。
【００２８】
デマルチプレクサ３２は、第１レベルを有する制御信号ＣＴＲＬに応答して、反復デコーダ２０によって反復復号されたデータＤＡＴＡを第１出力端を通じてマルチプレクサ３４の第１入力端に伝送する。また、デマルチプレクサ３２は、第２レベルを有する制御信号ＣＴＲＬに応答して、反復デコーダ２０によって反復復号されたデータＤＡＴＡを第２出力端を通じて決定回路４０に伝送する。
【００２９】
マルチプレクサ３４は、第１レベルを有する制御信号ＣＴＲＬに応答して、デマルチプレクサ３２から出力された反復復号されたデータＤＡＴＡを選択データＭＤＡＴＡとして第２デコーダ６０に伝送し、マルチプレクサ３４は、第２レベルを有する制御信号ＣＴＲＬに応答して、決定回路４０によって決定された決定データＰＤＡＴＡを選択データＭＤＡＴＡとして第２デコーダ６０に伝送する。
【００３０】
リード動作時に、アンコレクタブルエラーによってリード失敗（ｒｅａｄ  ｆａｉｌｕｒｅ）が発生すれば、第２デコーダ６０は、第２レベルを有する制御信号ＣＴＲＬを発生させる（ステップＳ１０）。したがって、反復デコーダ２０は、Ｋ−回だけさらに入力データＩＤＡＴＡに対する反復復号を行い、該反復復号されたデータＤＡＴＡをＫ−回だけさらにデマルチプレクサ３２を通じて決定回路４０に出力する（ステップＳ２０）。
【００３１】
決定回路４０の累算器４２は、スイッチング回路３０を通じて入力された反復復号されたデータＤＡＴＡをビット単位でＫ−回累算し、該ビット単位で累算された値ＡＯＵＴを決定ユニット４４に出力する（ステップＳ３０）。
【００３２】
図３に示されたように、［Ｎ］番目の反復復号回数から［Ｎ＋Ｋ−１］番目の反復復号回数まで、すなわち、合計Ｋ回の反復復号回数ごとに、反復デコーダ２０がビット単位でデータ１を出力する時、累算された値ＡＯＵＴはＫであり、反復デコーダ２０が、ビット単位でデータ０を出力する時、累算された値ＡＯＵＴは０である。
しかし、合計Ｋ回の反復復号回数ごとに、反復デコーダ２０が、ビット単位でデータ１とデータ０とを順序なしに出力する時、累算された値ＡＯＵＴは、Ａ、Ｂ、またはＣである。この際、Ａ、Ｂ、またはＣは、自然数であり、０より大きくてＫ回より小さい。
【００３３】
累算器４２は、ビット単位で累算された値ＡＯＵＴを決定ユニット４４に出力する。
決定ユニット４４は、累算された値ＡＯＵＴと複数の基準値ＴＨ１、ＴＨ２とをそれぞれ比較して、該比較結果によって決定データＰＤＡＴＡを決定することができる（ステップＳ４０）。
【００３４】
図４に示されたように、累算された値ＡＯＵＴが、複数の基準値ＴＨ１、ＴＨ２のうちから第１基準値ＴＨ１（例えば、４０）より小さい時、決定ユニット４４は、第１データ（例えば、データ０）を決定データＰＤＡＴＡとしてマルチプレクサ３４に出力することができる（ステップＳ６０）。
【００３５】
累算された値ＡＯＵＴが、第１基準値ＴＨ１より大きい第２基準値ＴＨ２（例えば、７０）より大きい時、決定ユニット４４は、第２データ（例えば、データ１）を決定データＰＤＡＴＡとしてマルチプレクサ３４に出力することができる（ステップＳ５０）。
【００３６】
累算された値ＡＯＵＴが、第１基準値ＴＨ１と第２基準値ＴＨ２との間の値である時、決定ユニット４４は、指示データ（ＦＬＡＧ＝ＳＬＩ）とともに第３データ（例えば、デフォルトで定められたデータ１またはデータ０）を決定データＰＤＡＴＡとしてマルチプレクサ３４に出力する（ステップＳ６０）。決定ユニット４４は、第３データとしてデータ０を出力すると仮定する。
決定データＰＤＡＴＡは、ビット単位でマルチプレクサ３４を通じて第２デコーダ６０に伝送することができる。
【００３７】
図５に示されたように、各シンボルに含まれたＵＤ１、ＵＤ２、及びＵＤ３は、決定ユニット４４によって第３データ、例えば、データ０に決定された決定データＰＤＡＴＡを示す。決定ユニット４４は、第３データを決定データＰＤＡＴＡとして決定する時、フラグＦＬＡＧを発生させうる。実施形態によって、フラグＦＬＡＧは、シンボルごとに一つのみ発生することがある。
【００３８】
決定ユニット４４によって発生したフラグＦＬＡＧは、指示データＳＬＩとして第２デコーダ６０に直接伝送することができる。マルチプレクサ３４は、決定ユニット４４によってビット単位で決定された決定データＰＤＡＴＡを選択データＭＤＡＴＡとして第２デコーダ６０に伝送するので、第２デコーダ６０は、マルチプレクサ３４から出力される選択データＭＤＡＴＡと決定ユニット４４から出力されるフラグＦＬＡＧとに応答して、如何なるシンボルでエラーが発生したかを判断することができる。
【００３９】
図５に示されたように、第２デコーダ６０は、ｍ−番目のシンボルと（ｍ＋２）−番目のシンボルとでエラーが発生したということが分かるので、第２デコーダ６０は、ｍ−番目のシンボルと（ｍ＋２）−番目のシンボルのそれぞれに対してエラー訂正を行い、該エラー訂正されたデータＥＣＤＡＴＡを出力することができる。第２デコーダ６０は、シンボル単位でエラー訂正を行うことができる。第２デコーダ６０としてＲＳ−ＥＣＣデコーダが使われる。
【００４０】
実施形態によって、決定回路４０は、エラーシンボル検出器４６をさらに含みうる。エラーシンボル検出器４６は、決定ユニット４４からビット単位で出力される決定データＰＤＡＴＡとフラグＦＬＡＧとに応答して、第３データを含むシンボルの位置情報を表わす指示データＳＬＩを生成し、該生成された指示データＳＬＩを第２デコーダ６０に伝送しうる。
【００４１】
したがって、第２デコーダ６０は、指示データＳＬＩ、すなわち、エラーシンボルの位置情報によって第３データを表わす決定データＰＤＡＴＡを含むエラーシンボルに対してエラー訂正を行い、該エラー訂正されたデータＥＣＤＡＴＡを出力することができる。
【００４２】
前述したように、第２デコーダ６０は、ビット単位でエラーの位置を判断し、かつシンボル単位でエラーの位置を判断することができる。したがって、第２デコーダ６０は、決定ユニット４４から出力されたフラグＦＬＡＧまたはエラーシンボル検出器４６から出力される指示データＳＬＩによってエラーシンボルに対するエラー訂正を行うことができるので、エラー訂正能力（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃａｐａｂｉｌｉｔｙ）、例えば、ＢＥＲを改善しうる効果がある。
【００４３】
図７は、図１に示されたデコーダを含むデータ処理システムのブロック図を示す。図１から図６を参照して説明されたデコーダ１０は、リード動作途中でエラーが発生する時、リードリトライ（ｒｅａｄ  ｒｅｔｒｙ）動作を行うことができるハードディスクドライブに使われる。
【００４４】
図７を参照すると、データ処理システムとして使われるハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ：以下、ＨＤＤ）１００は、複数のディスク１１０、複数のヘッド１１２、ヘッドアセンブリ１１４、前置増幅器（ｐｒｅ−ａｍｐｌｉｆｉｅｒ）１１６、メインコントロールユニット１１８、モータ駆動ユニット（または、サーボ制御ユニット）１４０、スピンドルモータ１３６、及びボイスコイルモータ（Ｖｏｉｃｅ  Ｃｏｉｌ  Ｍｏｔｏｒ：以下、ＶＣＭ）１３８を含む。
【００４５】
複数のディスク１１０のそれぞれは、ホストから出力されたデータを保存し、スピンドルモータ３６によって回転する。複数のディスク１１０のそれぞれは、磁気記録媒体として具現可能である。
【００４６】
複数のヘッド１１２のそれぞれは、複数のディスク１１０のうちから対応する一つのディスク上（ｏｖｅｒ）に位置して、リード（ｒｅａｄ）動作またはライト（ｗｒｉｔｅ）動作を行い、ＶＣＭ１３８と結合されたヘッドアセンブリ１１４から複数のディスク１１０側に延びたサポートアーム（図示せず）のそれぞれに設けられる。
【００４７】
ディスクに保存されたデータをリードする時、前置増幅器１１６は、複数のヘッド１１２のうちの何れか一つのヘッドから出力されたアナログ信号を増幅し、該増幅されたアナログ信号をリード／ライトチャンネル回路１２０に出力する。
【００４８】
ディスクにデータをライトする時、前置増幅器１１６は、リード／ライトチャンネル回路１２０から出力されたライト信号、例えば、ライト電流を複数のヘッド１１２のうちの何れか一つのヘッドに伝送する。何れか一つのヘッドは、ライト信号を複数のディスク１１０のうちの何れか一つのディスクにライトすることができる。
【００４９】
リード／ライトチャンネル回路１２０は、前置増幅器１１６によって増幅されたアナログ信号をデジタル信号に変換し、該変換されたデジタル信号に対して反復復号を行い、該反復復号されたデータをハードディスクコントローラ１２２に出力する。実施形態によって、図１から図６を参照して説明された第１デコーダ１１は、リード／ライトチャンネル回路１２０として具現可能である。したがって、リード／ライトチャンネル回路１２０は、選択データＭＤＡＴＡと指示データＳＬＩとをハードディスクコントローラ１２２に出力する。
【００５０】
ＣＰＵ１２４の制御下で、または独立したハードディスクコントローラ（Ｈａｒｄ  Ｄｉｓｋ  Ｃｉｎｔｒｏｌｌｅｒ：以下、ＨＤＣ）１２２は、リード／ライトチャンネル回路１２０から出力された指示データＳＬＩによってシンボル単位で選択データＭＤＡＴＡに対するエラー訂正を行い、該エラー訂正されたデータＥＣＤＡＴＡをホストに出力することができる。すなわち、図１から図６を参照して説明した第２デコーダ６０は、ＨＤＣ１２２の内部に具現可能である。
【００５１】
リード／ライトチャンネル回路１２０は、ＨＤＣ１２２から出力されたライトデータをライト信号に変換し、該変換されたライト信号を前置増幅器１１６に出力することができる。
【００５２】
例えば、データをディスク１１０にライトする時、ＨＤＣ１２２は、ＣＰＵ１２４の制御下でホストから出力されたライトデータにエラー訂正コードを付け加え、エラー訂正コードが付け加えられたライトデータをリード／ライトチャンネル回路１２０に出力する。したがって、ホストから出力されたライトデータは、リード／ライトチャンネル回路１２０、前置増幅器１１６、及び複数のヘッド１１２のうちの何れか一つのヘッドを通じて複数のディスク１１０のうちの何れか一つのディスクにライトされる。
【００５３】
また、複数のディスク１１０のうちの何れか一つのディスクからデータをリードする時、ＨＤＣ１２２は、ＣＰＵ１２４の制御下でリード／ライトチャンネル回路１２０によって反復復号されたリードデータＭＤＡＴＡを受信し、該受信された反復復号されたリードデータＭＤＡＴＡに対してシンボル単位でエラー訂正を行い、該エラー訂正されたデータＥＣＤＡＴＡをホストに伝送しうる。
【００５４】
メインコントロールユニット１１８の動作を制御することができるＣＰＵ１２４は、ＲＯＭ１２６に保存されたプログラムコード、例えば、反復復号回数を調節することができるプログラムコードをリードし、該リードされたプログラムコードをＲＡＭ１２８に保存し、ＲＡＭ１２８に保存されたプログラムコードを実行させてＨＤＤ１００またはＨＤＣ１２２の動作を制御することができる。これにより、ＣＰＵ１２４は、反復復号回数の設定方法、ＨＤＤ１００のリード動作、またはＨＤＤ１００のライト動作を制御することができる。
【００５５】
ＣＰＵ１２４は、ホストから出力されたリード命令またはライト命令を受信し、該受信された命令によってトラック探索（ｔｒａｃｋ  ｓｅｅｋ）またはトラック追従（ｔｒａｃｋ  ｆｏｌｌｏｗｉｎｇ）を制御するために、スピンドルモータ駆動部１４４とＶＣＭ駆動部１４２とを制御することができる。
【００５６】
スピンドルモータ駆動部１４４は、ＨＤＣ１２２から出力された少なくとも一つの制御信号に応答して、複数のディスク１１０の回転を制御するスピンドルモータ１３６の動作を制御する。
【００５７】
ＶＣＭ駆動部１４２は、ＨＤＣ１２２から出力された少なくとも一つの制御信号、例えば、複数のヘッド１１２のそれぞれの位置を制御するための制御信号に応答して、ＶＣＭ１３８を駆動するための駆動電流を発生させ、該発生した駆動電流をＶＣＭ１３８のボイスコイルに出力する。
【００５８】
ＶＣＭ１３８は、ＶＣＭ駆動部１４２から出力される駆動電流の方向とレベルとによって複数のヘッド１１２のうちから使われるヘッドを複数のディスク１１０のうちの何れか一つのディスクに具現されたトラック上に移動させる。
【００５９】
実施形態によって、メインコントロールユニット１１８の内部または外部に具現可能なバッファメモリ１３０は、ＨＤＤ１００とホストとの間で送受信するデータを一時的に保存することができる。バッファメモリ１３０は、ＤＲＡＭのような揮発性メモリとして具現可能である。
【００６０】
実施形態によって、リード／ライトチャンネル回路１２０、ＨＤＣ１２２、ＣＰＵ１２４、ＲＯＭ１２６、ＲＡＭ１２８、及びメモリ１３０を含むメインコントロールユニット１１８は、一つのチップ、例えば、ＳｏＣ（ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）として具現可能である。また、スピンドルモータ駆動部１４４とＶＣＭ駆動部１４２とを含むモータ駆動ユニット１４０は、一つのチップ、例えば、ＳｏＣとして具現可能である。
【００６１】
図８は、図７に示されたデータ処理システムを含むコンピュータシステムのブロック図を示す。
【００６２】
図１から図８を参照すると、コンピュータシステム２００は、ＨＤＤ１００とＨＤＤ１００とデータを送受信するためのホスト２１０を含む。
ＨＤＤ１００は、ディスク１１０にライトされたアナログ信号をリードするためのヘッド１１２と、ヘッド１１２によってリードされたアナログ信号を増幅するための前置増幅器１１６と、メインコントロールユニット１１８とを含む。
【００６３】
メインコントロールユニット１１８は、前置増幅器１１６から出力されたアナログ信号に相応する入力データＩＤＡＴＡを反復復号し、該反復復号されたデータＤＡＴＡをビット単位で累算し、該累算された値ＡＯＵＴと複数の基準値ＴＨ１、ＴＨ２とをそれぞれ比較し、該比較結果によって決定された決定データＰＤＡＴＡと指示データＦＬＡＧまたはＳＬＩとを出力するための第１デコーダ１１と指示データＦＬＡＧまたはＳＬＩによって決定データＰＤＡＴＡを含むシンボルに対してエラー訂正を行うための第２デコーダ６０とを含む。
【００６４】
ホスト２１０は、ホストＣＰＵ２１１、メモリ２１３、及びインターフェース２１４を含む。ホストＣＰＵ２１１は、ホスト２１０の動作を制御し、ライト動作時には、メモリ２１３から出力されたデータをインターフェース２１４を通じてＨＤＤ１００のメインコントロールユニット１１８として具現されたホストインターフェース１４９に伝送しうる。インターフェース２１４とホストインターフェース１４９とは、ＳＡＴＡインターフェースとして具現可能である。したがって、インターフェース２１４とホストインターフェース１４９とは、ＳＡＴＡプロトコルを用いてデータを送受信することができる。
【００６５】
リード動作時に、インターフェース２１４は、ホストＣＰＵ２１１の制御下でＨＤＤ１００のメインコントロールユニット１１８に具現されたホストインターフェース１４９から伝送されたデータをメモリ２１３に保存することができる。ホストＣＰＵ２１１は、メモリ２１３に保存されたデータを処理、例えば、ディスプレイ装置を用いてディスプレイするか、周辺装置、例えば、ＵＳＢポートに接続されたプリンタを用いて出力することができる。
【００６６】
本発明は、図面に示された一実施形態を参考にして説明されたが、これは例示的なもの過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【００６７】
本発明による実施形態は、サーボトラックライタに使われる。
【符号の説明】
【００６８】
１０：デコーダ
１１：第１デコーダ
２０：反復デコーダ
３０：スイッチング回路
４０：決定回路
４２：累算器
４４：決定ユニット
４６：エラーシンボル検出器
６０：第２デコーダ
１００：ハードディスクドライブ
１１６：前置増幅器
１１８：メインコントロールユニット
２００：コンピュータシステム
【図１】
2011181169.tif 000003
【図２】
2011181169.tif 000004
【図３】
2011181169.tif 000005
【図４】
2011181169.tif 000006
【図５】
2011181169.tif 000007
【図６】
2011181169.tif 000008
【図７】
2011181169.tif 000009
【図８】
2011181169.tif 000010