(57)【要約】      （修正有）【課題】簡易な手法にてデータの信頼性を向上させることが可能なパリティ機能付きハードディスク装置を提供する。【解決手段】コントローラ１１は、データを記録する場合、所定のブロック毎に、データをハードディスク１３に記録し、所定のエラー訂正方式によってブロック内のデータからパリティを計算し、パリティをフラッシュメモリ１４に記録する。また、データを再生する場合、ハードディスク１３からデータを読み出し、所定のブロック内で読み出しエラーを判定すると、フラッシュメモリ１４からそのブロックのパリティを読み出し、所定のエラー訂正方式によってデータエラーを復元する。所定のブロック長のサイズ及び所定のエラー訂正方式は、ハードディスク１３のセクタに対する記録及び再生処理の可否を測定し、そのエラー率及びエラー分布に基づいて、予め設定される。【選択図】図１
2010267333.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクに記録するデータに基づいてパリティを計算し、前記ハードディスクからデータを読み出す際にエラーとなったデータを、前記パリティを用いて復元するパリティ機能付きハードディスク装置において、
データの記録及び再生を行う制御部、パリティを記録するメモリ部、及び、データを記録するハードディスクを備え、
前記制御部は、
データを記録する場合、前記ハードディスクに記録するデータ群を、複数セクタにより構成される所定サイズのブロックに分割し、前記ブロック毎に、前記ブロック内のデータに基づいて所定のエラー訂正方式にてパリティを計算し、前記ブロック内のデータをハードディスクに、前記ブロックに対応するパリティをメモリ部にそれぞれ記録し、
データを再生する場合、前記ハードディスクからデータを読み出し、前記ブロック内で読み出しエラーが発生したときに、前記メモリ部から前記ブロックに対応するパリティを読み出し、前記ブロック内のエラーデータを除くデータと前記パリティとを用いて、前記所定のエラー訂正方式にてエラーデータを復元する、ことを特徴とするパリティ機能付きハードディスク装置。
【請求項２】
ハードディスクに記録するデータに基づいてパリティを計算し、前記ハードディスクからデータを読み出す際にエラーとなったデータを、前記パリティを用いて復元するパリティ機能付きハードディスク装置において、
データの記録及び再生を行う制御部、及び、データ及びパリティを記録するハードディスクを備え、
前記制御部は、
データを記録する場合、前記ハードディスクに記録するデータ群を、複数セクタにより構成される所定サイズのブロックに分割し、前記ブロック毎に、前記ブロック内のデータに基づいて所定のエラー訂正方式にてパリティを計算し、前記ブロック内のデータ及び前記ブロックに対応するパリティをハードディスクに記録し、
データを再生する場合、前記ハードディスクからデータを読み出し、前記ブロック内で読み出しエラーが発生したときに、前記ハードディスクから前記ブロックに対応するパリティを読み出し、前記ブロック内のエラーデータを除くデータと前記パリティとを用いて、前記所定のエラー訂正方式にてエラーデータを復元する、ことを特徴とするパリティ機能付きハードディスク装置。
【請求項３】
請求項１または２に記載のパリティ機能付きハードディスク装置において、
前記ブロックのサイズ、及びエラー訂正方式は、前記ハードディスクのセクタに対しデータの記録及び再生のエラーが測定され、前記測定により得られた、ランダムに発生したエラーの割合及びバースト的に発生したエラーの分布に基づいて設定される、ことを特徴とするパリティ機能付きハードディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像等の各種データを記録及び再生するハードディスク装置に関し、特に、データの再生時にエラーが発生した場合、記録時に計算したパリティを用いてデータを復元するパリティ機能付きハードディスク装置に関する。
【背景技術】
【０００２】
従来、画像等の各種データを記録及び再生するハードディスク装置が知られている。一般に、ハードディスク装置は、ハードディスクの外周側から内周側へ向けて、通常５１２バイトの容量のセクタと呼ばれる単位にデータを記録する。
【０００３】
セクタ単位にデータを記録する方式の一つとして、ゾーン記録方式がある。ゾーン記録方式は、ハードディスク面を半径方向に輪切りにして数十程度の数に分割（ゾーン分割）し、分割した一つのゾーン内において同一の転送レートでデータを記録するものである。また、ゾーン記録方式を用いたハードディスクは、外周に向かう程ゾーン内のセクタ数が多くなり、内外周に渡って面記録密度がほぼ一定になるように構成される。つまり、外周に向かう程、転送レートを高くすることができるから、面積を有効利用し、大容量化を実現することができる。
【０００４】
このようなハードディスク装置に対し、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のファイルシステムにより論理フォーマットを行うと、複数のセクタから構成されるクラスタ単位にデータが記録されるようになる。
【０００５】
ところで、論理フォーマットが行われたハードディスク装置では、初期状態において、データの記録及び再生が不可能な不良セクタが存在することがある。このような初期不良（フォーマット時の不良）に対し、ハードディスク装置は、不良セクタにアクセスしないように管理を行う。具体的には、不良セクタのアドレスを飛ばして次のアドレスにアクセスしたり、不良セクタに代わる代替セクタを割り当てたりする。
【０００６】
一方、ハードディスク装置を用いた運用が始まり、データの記録及び再生が連続して行われると、ある特定のセクタでエラーレートが高くなり、記録ができなくなることがある。また、ハードディスクへのアクセスに伴うヘッドの浮上量の変動及び振動等により、記録及び再生が不安定になることもある。このような運用時の不良に対し、ハードディスク装置は、初期不良時と同様に、不良セクタ管理を行う。
【０００７】
しかしながら、ハードディスクにアクセスしている際にセクタ不良が発生した場合には、データに欠落が生じる可能性がある。このような場合には、再読み出し（リトライ）処理を行うことによりデータの欠落を防ぐことができるが、データの転送速度が極端に低くなってしまう。
【０００８】
このような問題を解決するため、ハードディスクに記録されるデータの信頼性を確保する方式として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）と呼ばれる技術が用いられる（例えば、特許文献１を参照）。ＲＡＩＤとは、複数のハードディスクを組み合わせてディスクアレイを構成し、仮想的な１台のハードディスクとして運用する方式である。ＲＡＩＤのディスクアレイ管理方式を用いたハードディスク装置は、データを複数のハードディスクに記録し、データのパリティも記録し、ハードディスクの不良に対してデータを再構成する。これにより、データの信頼性が確保される。例えば、ＲＡＩＤ３のディスクアレイ管理方式を用いたハードディスク装置は、データ記録時に、データを分割して複数のハードディスクに並列に記録すると共に、分割したデータからパリティを計算し、そのパリティをパリティ用ハードディスクに記録する。そして、データ再生時に、複数のハードディスクのうちの１台が故障したと判定した場合、残りのハードディスクから読み出したデータとパリティ用ハードディスクから読み出したパリティとに基づいて、データを復元する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平６−３２４８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、前述のＲＡＩＤの方式を用いたハードディスク装置は、複数のハードディスクからなるディスクアレイを備えるから、ハードディスク装置として大型化し、コストが増大するという問題があった。また、前述のとおり、ハードディスクの初期不良（フォーマット時の不良）及び運用時の不良に対し、不良セクタのアドレスを飛ばしたり、不良セクタに代わる代替セクタを割り当てたりする不良セクタ管理を行う必要があるから、管理が複雑になるという問題があった。
【００１１】
そこで、不良セクタ管理を行うことなく、ハードディスクに記録されるデータの信頼性を向上させることが可能な簡易な構成のハードディスク装置が望まれていた。
【００１２】
本発明は前記課題を解決するためになされたものであり、その目的は、所定数のセクタからなるブロックを単位にしてパリティを計算し、ブロック毎に読み出し時のエラーデータを復元することにより、簡易な手法にてデータの信頼性を向上させることが可能なパリティ機能付きハードディスク装置を提供することにある。
【課題を解決するための手段】
【００１３】
前記目的を達成するために、本発明によるパリティ機能付きハードディスク装置は、ハードディスクに記録するデータに基づいてパリティを計算し、前記ハードディスクからデータを読み出す際にエラーとなったデータを、前記パリティを用いて復元するパリティ機能付きハードディスク装置において、データの記録及び再生を行う制御部、パリティを記録するメモリ部、及び、データを記録するハードディスクを備え、前記制御部が、データを記録する場合、前記ハードディスクに記録するデータ群を、複数セクタにより構成される所定サイズのブロックに分割し、前記ブロック毎に、前記ブロック内のデータに基づいて所定のエラー訂正方式にてパリティを計算し、前記ブロック内のデータをハードディスクに、前記ブロックに対応するパリティをメモリ部にそれぞれ記録し、データを再生する場合、前記ハードディスクからデータを読み出し、前記ブロック内で読み出しエラーが発生したときに、前記メモリ部から前記ブロックに対応するパリティを読み出し、前記ブロック内のエラーデータを除くデータと前記パリティとを用いて、前記所定のエラー訂正方式にてエラーデータを復元する、ことを特徴とする。
【００１４】
また、本発明によるパリティ機能付きハードディスク装置は、ハードディスクに記録するデータに基づいてパリティを計算し、前記ハードディスクからデータを読み出す際にエラーとなったデータを、前記パリティを用いて復元するパリティ機能付きハードディスク装置において、データの記録及び再生を行う制御部、及び、データ及びパリティを記録するハードディスクを備え、前記制御部が、データを記録する場合、前記ハードディスクに記録するデータ群を、複数セクタにより構成される所定サイズのブロックに分割し、前記ブロック毎に、前記ブロック内のデータに基づいて所定のエラー訂正方式にてパリティを計算し、前記ブロック内のデータ及び前記ブロックに対応するパリティをハードディスクに記録し、データを再生する場合、前記ハードディスクからデータを読み出し、前記ブロック内で読み出しエラーが発生したときに、前記ハードディスクから前記ブロックに対応するパリティを読み出し、前記ブロック内のエラーデータを除くデータと前記パリティとを用いて、前記所定のエラー訂正方式にてエラーデータを復元する、ことを特徴とする。
【００１５】
また、本発明によるパリティ機能付きハードディスク装置は、前記ブロックのサイズ、及びエラー訂正方式が、前記ハードディスクのセクタに対しデータの記録及び再生のエラーが測定され、前記測定により得られた、ランダムに発生したエラーの割合及びバースト的に発生したエラーの分布に基づいて設定される、ことを特徴とする。
【発明の効果】
【００１６】
以上のように、本発明によれば、所定サイズのブロックを単位にして、所定のエラー訂正方式にてパリティを計算し、ブロック毎に読み出し時のエラーデータを復元するようにした。これにより、ブロック毎にデータの記録及び再生が行われ、読み出しエラーの際には、ブロック毎にエラーデータの復元が行われるから、不良セクタ管理を行う必要がない。また、ＲＡＩＤの方式においてはエラー時にハードディスクを切り替える処理を行うが、本発明ではこのような切り替え処理を行う必要がない。したがって、簡易な手法によりデータの信頼性を向上させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態（実施例１）によるパリティ機能付きハードディスク装置の構成を示すブロック図である。
【図２】コントローラによる記録処理を説明するフローチャートである。
【図３】コントローラによる再生処理を説明するフローチャートである。
【図４】実施例１の記録処理及び再生処理の説明を補助する図である。
【図５】本発明の第２の実施形態（実施例２）によるパリティ機能付きハードディスク装置の構成を示すブロック図である。
【図６】実施例２の記録処理及び再生処理を補助する図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態について、図面を参照して説明する。実施例１では、データから計算したパリティを固体メモリに記録し、実施例２では、データから計算したパリティを、データと共に同じハードディスクに記録する。また、実施例１，２は共に、所定サイズのブロックを単位にして、所定のエラー訂正方式にてパリティを計算し、読み出しエラーの際には、ブロック毎にエラーデータを復元する。このブロック長を規定するサイズ及びエラー訂正方式は、ハードディスクのセクタに対する記録及び再生処理のエラー率及びエラー分布を測定することにより、エラーデータを確実に復元できるように予め設定される。以下、実施例１，２について詳細に説明する。
【００１９】
〔実施例１〕
まず、実施例１について説明する。実施例１では、所定サイズのブロックを単位にして、所定のエラー訂正方式にてパリティを計算し、計算したパリティを固体メモリに記録する。
【００２０】
(構成)
図１は、本発明の第１の実施形態（実施例１）によるパリティ機能付きハードディスク装置の構成を示すブロック図である。このパリティ機能付きハードディスク装置１は、コントローラ（制御部）１１、キャッシュメモリ１２、ハードディスク（磁気ディスク）１３及びフラッシュメモリ（メモリ部）１４を備えている。
【００２１】
コントローラ１１は、データを記録する際に、ハードディスク１３に記録するデータを入力し、入力したデータ群を所定サイズのブロックに分割し、ブロック内のデータからパリティを計算する。そして、コントローラ１１は、データを、キャッシュメモリ１２を介してハードディスク１３に記録すると共に、パリティをフラッシュメモリ１４に記録する。パリティは、所定サイズのブロックを単位にして、所定のエラー訂正方式にて計算される。また、コントローラ１１は、データを再生する際に、キャッシュメモリ１２を介してハードディスク１３からデータを読み出し、所定サイズのブロック毎に読み出しエラーの判定を行い、データを出力する。この場合、ブロック内でデータの読み出しエラーが発生したときには、フラッシュメモリ１４からそのブロックのパリティを読み出し、所定のエラー訂正方式にてブロック内のエラーデータ以外のデータ及びパリティに基づいてデータを復元し、正しく読み出したデータ及び復元したデータを出力する。
【００２２】
キャッシュメモリ１２は、コントローラ１１からの記録の指示に従い、指定されたセクタアドレスに対しハードディスク１３へアクセスし、入力したデータを記録する。また、コントローラ１１からの読み出しの指示に従い、指定されたセクタアドレスに対しハードディスク１３へアクセスし、データを読み出してコントローラ１１に出力する。フラッシュメモリ１４は、所定サイズのブロック毎に計算されたパリティが記録される固体メモリである。ハードディスク１３には、所定サイズのブロックを単位にしてデータが記録される。
【００２３】
尚、ハードディスク１３にデータを記録する際にはセクタアドレスが指定され、また、ハードディスク１３からデータを読み出す際にはセクタアドレスが指定されるが、本実施例１においては、説明を簡単にするため、セクタアドレスの指定については言及しない。実施例２においても同様である。また、フラッシュメモリ１４に対して指定されるセクタアドレスについても同様である。
【００２４】
（ブロック、エラー訂正方式の設定）
次に、コントローラ１１に予め設定される、ブロック長のサイズ及びエラー訂正方式の種類について説明する。ブロックとは、ハードディスク１３において複数セクタからなる記録単位をいう。尚、ＯＳのファイルシステムによる論理フォーマットを考慮すると、複数セクタにより構成されるクラスタが記録単位になるから、ブロックは、１クラスタを記録単位とするか、または、複数のクラスタの集合を記録単位とすることが望ましい。すなわち、ブロックは、クラスタサイズを整数倍した、複数セクタからなる記録単位とすることが望ましい。
【００２５】
パリティ機能付きハードディスク装置１の設計者は、ブロック長のサイズ及びエラー訂正方式の種類を設定するために、パリティ機能付きハードディスク装置１に備えたハードディスク１３の全セクタに対し、データの記録及び再生を行ってその可否をチェックし、エラー率及びエラーの分布を得る。
【００２６】
設計者は、データの記録及び再生を行った結果、ランダムエラーの発生に対し、記録及び再生を行うことができなかった不良セクタ数を総セクタ数で除算し、ランダムエラーのエラー率を計算し、ブロック長のサイズ及びエラー訂正方式を設定する。例えば、計算したエラー率が１／１００未満の場合、１００セクタが１ブロックになるようにブロック長のサイズを設定し、排他的論理和演算方式をエラー訂正方式として設定する。これは、エラー率が１／１００未満の場合、１００セクタに対し最大で１セクタの割合でエラーが発生することが予想されるところ、コントローラ１１が１００セクタのデータ毎に１セクタのパリティを計算し、排他的論理和演算方式によって１セクタのエラーデータを復元することができるからである。また、エラー率が１／１００未満の場合、２００セクタが１ブロックになるようにブロック長のサイズを設定し、エラー訂正方式をリードソロモン符号による訂正方式として設定する。この場合、２００セクタに対して最大で２セクタの割合でエラーが発生することが予想されるところ、コントローラ１１がリードソロモン符号を用いてＥＣＣビットを生成し２セクタ分のパリティを計算することにより、２セクタのエラーデータを復元することができるからである。
【００２７】
また、設計者は、データの記録及び再生を行った結果、連続する複数のセクタに対するバーストエラーの発生に対し、記録及び再生を行うことができなかった不良セクタ数を測定し、ブロック長のサイズ及びエラー訂正方式を設定する。例えば、連続した不良セクタの数が３の場合、１００セクタが１ブロックになるようにブロック長のサイズを設定し、エラー訂正方式をリードソロモン符号による訂正方式として設定する。この場合、１００セクタに対し最大で３セクタの割合でエラーが発生することが予想されるところ、コントローラ１１がリードソロモン符号を用いてＥＣＣビットを生成し３セクタ分のパリティを計算することにより、３セクタ分のエラーデータを復元することができるからである。この場合、ブロック長のサイズは１００以外の値でもよく、３セクタを超えるエラーデータが発生しない範囲内において設定される。
【００２８】
このように、コントローラ１１がパリティを計算する際及びエラーデータを復元する際のブロック長のサイズ、及びエラー訂正方式の種類は、ハードディスク１３のセクタに対する記録及び再生処理のエラー率及びエラー分布を測定することにより、設計者によって予め設定される。つまり、コントローラ１１は、このようにして設定されたブロック長のサイズ及びエラー訂正方式を用いることにより、ブロック内でエラーが発生してもそのエラーは想定範囲内のエラーになるから、パリティに基づいてエラーデータを確実に復元することができる。
【００２９】
（記録処理）
次に、コントローラ１１による記録処理について説明する。図２は、記録処理を説明するフローチャートである。コントローラ１１は、ハードディスク１３に記録すべきデータの入力を開始すると（ステップＳ２０１）、入力したデータ群を予め設定されたブロックに分割し、そのブロック毎に、予め設定されたエラー訂正方式にてブロック内のデータからパリティを計算する（ステップＳ２０２）。例えば、ブロック長のサイズが１００セクタ、エラー訂正方式が排他的論理和演算方式に設定されている場合、コントローラ１１は、１ブロックのデータに対して排他的論理和を演算し、パリティを計算する。計算されたパリティは、１セクタ長の情報となる。
【００３０】
コントローラ１１は、ブロック内のデータをハードディスク１３に記録する（ステップＳ２０３）。そして、コントローラ１１は、ステップＳ２０２にて計算したパリティをフラッシュメモリ１４に記録する（ステップＳ２０４）。この場合、コントローラ１１は、ハードディスク１３に記録したデータのブロックアドレスと同じ番号のセクタアドレスに、パリティを記録する。これにより、ハードディスク１３に記録したデータのブロックアドレスと、フラッシュメモリ１４に記録したパリティのセクタアドレスとの間の整合性が取り易くなるから、データ及びパリティの管理が容易になる。
【００３１】
図４は、実施例１の記録処理及び再生処理の説明を補助する図であり、コントローラ１１が５セクタを１ブロックとして、ブロック毎に排他的論理和を演算し、１セクタ長のパリティを求める例を示している。図４に示すように、コントローラ１１は、１ブロック（５セクタ）毎にデータをハードディスク１３に記録し、１ブロックのデータから計算した１セクタ長のパリティをフラッシュメモリ１４に記録する。１ブロックのデータに対し１セクタのパリティが対応している。
【００３２】
図２に戻って、コントローラ１１は、入力したデータについて、全てのブロックの記録が完了したか否かを判定する（ステップＳ２０５）。全てのブロックの記録が完了していないと判定した場合（ステップＳ２０５：Ｎ）、ステップＳ２０２へ移行し、次のブロックの処理を行う。一方、全てのブロックの記録が完了したと判定した場合（ステップＳ２０５：Ｙ）、記録処理を終了する。
【００３３】
このように、コントローラ１１は、全てのブロックのデータをハードディスク１３に記録すると共に、所定のブロック毎に所定のエラー訂正方式によってパリティを計算し、フラッシュメモリ１４に記録する。したがって、フラッシュメモリ１４には、ブロック毎に計算されたパリティが記録される。
【００３４】
（再生処理）
次に、コントローラ１１による再生処理について説明する。図３は、再生処理を説明するフローチャートである。コントローラ１１は、ハードディスク１３からデータの読み出しを開始し（ステップＳ３０１）、予め設定された１ブロック分のデータの読み出しが完了すると、ブロック内のデータについて、読み出しエラーの有無を判定する（ステップＳ３０２）。データの読み出しエラーが無いと判定した場合（ステップＳ３０２：Ｎ）、ステップＳ３０５へ移行する。
【００３５】
一方、コントローラ１１は、読み出しエラーが有ると判定した場合（ステップＳ３０２：Ｙ）、そのブロックに対するパリティをフラッシュメモリ１４から読み出す（ステップＳ３０３）。ここで、フラッシュメモリ１４に記録されたパリティのセクタアドレスの番号と、ハードディスク１３に記録されたデータのブロックアドレスの番号とが同一の場合、コントローラ１１は、ハードディスク１３から読み出したデータのブロックアドレスと同じ番号のセクタアドレスを指定することにより、そのブロックに対するパリティをフラッシュメモリ１４から読み出す。これにより、データのブロックアドレスとパリティのセクタアドレスとの間の整合性が取れているから、パリティの読み出し処理が容易になる。
【００３６】
コントローラ１１は、ブロック内のエラーデータ以外のデータと、ステップＳ３０３にて読み出したパリティとに基づいて、予め設定されたエラー訂正方式にてエラーデータを復元する（ステップＳ３０４）。例えば、ブロック長のサイズが１００セクタ、エラー訂正方式が排他的論理和演算方式に設定されている場合、コントローラ１１は、１ブロック内で１セクタのデータ読み出しにエラーが有ると判定すると、それ以外の９９セクタのデータと、読み出した１セクタ長のパリティとの間で排他的論理和を演算し、その演算結果を復元データとして扱う。ここで、ブロック長のサイズが１００セクタに設定され、エラー訂正方式が排他的論理和演算方式に設定された意義は、これらの設定が、１００セクタに対して１セクタの割合でエラーが発生する可能性がある測定データによるものであるから、１ブロック内で１セクタのエラーが発生するか、または、エラーが発生しないことを前提にして、エラーデータを確実に復元することができることにある。
【００３７】
コントローラ１１は、ハードディスク１３から読み出したデータについて、全てのブロックの読み出しが完了したか否かを判定する（ステップＳ３０５）。全てのブロックの読み出しが完了していないと判定した場合（ステップＳ３０５：Ｎ）、ステップＳ３０２へ移行し、次のブロックの処理を行う。一方、全てのブロックの読み出しが完了したと判定した場合（ステップＳ３０５：Ｙ）、再生処理を終了する。
【００３８】
このように、コントローラ１１は、データを再生する場合、所定のブロック毎に、ハードディスク１３からデータを読み出す際のエラーを判定すると、フラッシュメモリ１４からそのブロックのパリティを読み出し、所定のエラー訂正方式によってエラーデータを復元する。
【００３９】
以上のように、実施例１のパリティ機能付きハードディスク装置１によれば、データを記録する場合、所定のブロック毎に、データをハードディスク１３に記録し、所定のエラー訂正方式によってブロック内のデータからパリティを計算し、パリティをフラッシュメモリ１４に記録するようにした。また、データを再生する場合、ハードディスク１３からデータを読み出し、所定のブロック内で読み出しエラーを判定すると、フラッシュメモリ１４からそのブロックのパリティを読み出し、所定のエラー訂正方式によってデータエラーを復元するようにした。ここで、所定のブロック長のサイズ及び所定のエラー訂正方式は、ハードディスク１３のセクタに対する記録及び再生処理の可否を測定し、そのエラー率及びエラー分布によって予め設定される。例えば、ランダムエラーのエラー率が１／１００未満の場合、ブロック長のサイズを１００セクタとし、エラー訂正方式を排他的論理和演算方式とする。１００セクタに対し最大で１セクタのエラーが発生することが想定されるから、排他的論理和演算により１セクタ長のパリティを計算することにより、１セクタのエラーが発生しても、パリティを用いてその１セクタのエラーデータを復元することができるからである。同様に、バーストエラーが発生する隣接セクタ数が３の場合、ブロック長のサイズを１００セクタとし、エラー訂正方式をリードソロモン符号による方式とする。１００セクタに対し最大で３セクタのエラーが発生することが想定されるから、リードソロモン符号を用いて３セクタ長のパリティを計算することにより、３セクタのエラーが発生しても３セクタ分のパリティを用いて、その３セクタのエラーデータを復元することができるからである。このように、エラー率及びエラー分布を考慮して、エラーデータを確実に復元できるように、ブロック長のサイズ及びエラー訂正方式が予め設定される。
【００４０】
これにより、エラーデータを確実に復元することができる。また、ハードディスク１３に対するデータの記録及び再生のために、不良セクタ管理を行う必要がない。また、リトライ処理の代わりにパリティを用いたデータ復元処理を行うようにしたから、リトライ処理を行う必要がなくなり、データの転送速度が低くなることはない。また、従来のＲＡＩＤの方式では、エラー時にハードディスクを切り替える処理を行うが、実施例１のパリティ機能付きハードディスク装置１ではこのような切り替え処理を行う必要がない。したがって、簡易な手法によりデータの信頼性を向上させることが可能となる。
【００４１】
〔実施例２〕
次に、実施例２について説明する。実施例２では、所定サイズのブロックを単位にして、所定のエラー訂正方式にてパリティを計算し、計算したパリティを、データと共に同じハードディスクに記録する。
【００４２】
(構成)
図５は、本発明の第２の実施形態（実施例２）によるパリティ機能付きハードディスク装置の構成を示すブロック図である。このパリティ機能付きハードディスク装置２は、コントローラ２１、キャッシュメモリ１２及びハードディスク１３を備えている。図１に示した実施例１のパリティ機能付きハードディスク装置１と比較すると、実施例２のパリティ機能付きハードディスク装置２は、フラッシュメモリ１４を備えていない点でパリティ機能付きハードディスク装置１と相違する。また、実施例２のコントローラ２１は、計算したパリティを、キャッシュメモリ１２を介してハードディスク１３に記録する点で実施例１のコントローラ１１と相違する。その他の機能は、実施例１に示したものと同一である。また、ブロック長のサイズ及びエラー訂正方式についても、エラーデータを確実に復元できるように、ハードディスク１３のセクタに対する記録及び再生処理の可否を測定し、エラー率及びエラー分布に基づいて予め設定される。
【００４３】
コントローラ２１による記録処理は、図２に示したフローチャートのとおりである。尚、ステップＳ２０４において、コントローラ２１は、計算したパリティをハードディスク１３に記録する。また、コントローラ２１による再生処理は、図３に示したフローチャートのとおりである。尚、ステップＳ３０３において、コントローラ２１は、パリティをハードディスク１３から読み出す。
【００４４】
図６は、実施例２の記録処理及び再生処理の説明を補助する図であり、コントローラ２１が６セクタを１ブロックとして、１ブロック内の５セクタのデータに対し排他的論理和を演算して１セクタ長のパリティを求め、１ブロック内の残りの１セクタにパリティを記録する例を示している。図６に示すように、コントローラ２１は、５セクタ毎にデータをハードディスク１３に記録し、同じブロック内の残りの１セクタにパリティを記録する。１ブロック内の５セクタのデータに対し、同じブロック内の１セクタのパリティが対応している。
【００４５】
以上のように、実施例２のパリティ機能付きハードディスク装置２によれば、実施例１と同様に、エラーデータを確実に復元することができ、簡易な手法によりデータの信頼性を向上させることが可能となる。また、パリティ機能付きハードディスク装置２は、パリティを記録するフラッシュメモリ１４を備えていないから、一層簡易な構成により、データの信頼性を向上させることが可能となる。
【符号の説明】
【００４６】
１，２  パリティ機能付きハードディスク装置
１１，２１  コントローラ
１２  キャッシュメモリ
１３  ハードディスク
１４  フラッシュメモリ
【図１】
2010267333.tif 000003
【図２】
2010267333.tif 000004
【図３】
2010267333.tif 000005
【図４】
2010267333.tif 000006
【図５】
2010267333.tif 000007
【図６】
2010267333.tif 000008