(57)【要約】【課題】  本発明は、従来に比して一段とデータ転送速度を向上させることができるディスク装置のエラー訂正回路及びその方法を提供することを目的とする。【解決手段】  ハードディスク３から読み出されたデータS１をバッファメモリ１０に書き込んだ後、所望のタイミングで当該バッファメモリ１０に記憶されているデータＳ５を読み出し、当該読み出したデータＳ５にエラーが存在する場合、エラー訂正を行いながらホスト（ＰＣ）に出力するようにしたことにより、従来のようにバッファメモリ１０からエラーデータを読み出しエラー訂正を行った後、再びバッファメモリ１０に書き込むリードモディファイライトを行う必要がなく、その分、従来に比して一段とデータ転送速度を向上させることができる。【選択図】  図１
2005228409.tif 000002
【特許請求の範囲】
【請求項１】
ディスクから読み出されたデータに対してセクタ毎にエラー検出を実行し、エラーを検出した場合には、そのエラーデータの位置を表すエラー位置を算出し、これをエラー位置情報として出力すると共に、そのエラー位置における誤りビットにフラグが立てられたエラー距離を算出し、これをエラー距離情報として出力するエラー検出部と、
前記ディスクから読み出された前記データを所定の記憶部に書き込んだ後、所望のタイミングで前記記憶部に記憶されている前記データを読み出す制御部と、
前記記憶部から読み出された前記データのセクタ内における位置をカウントし、これをデータ位置情報として出力する計数部と、
前記計数部から出力された前記データ位置情報と、前記エラー検出部から出力された前記エラー位置情報及び前記エラー距離情報とに基づいて、前記エラー位置における誤りビットにフラグが立てられると共に、当該誤りビットを除くビットにはフラグを立てないエラー距離データを生成して出力する生成部と、
前記記憶部から読み出された前記データと、前記生成部から出力された前記エラー距離データとを用いて所定の論理演算を施すことにより、前記データに対しエラー訂正を実行する演算部と
を備えることを特徴とするディスク装置のエラー訂正回路。
【請求項２】
前記生成部は、
前記エラー検出部から出力された前記エラー位置情報及び前記エラー距離情報を一時的に記憶する一時記憶部を有することを特徴とする請求項１記載のディスク装置のエラー訂正回路。
【請求項３】
前記生成部は、
前記計数部によって得られたデータ位置と、前記一時記憶部に記憶されている前記エラー位置とを比較する比較器と、
前記比較器が前記データ位置と前記エラー位置とが一致すると判断した場合には、前記エラー距離情報を出力し、前記データ位置と前記エラー位置が一致しないと判断した場合には、フラグを立てない情報を出力することにより、前記エラー距離データを生成して出力する演算素子とを有することを特徴とする請求項２記載のディスク装置のエラー訂正回路。
【請求項４】
ディスクから読み出されたデータを所定の記憶部に書き込んだ後、所望のタイミングで前記記憶部に記憶されている前記データを読み出す読み出しステップと、
当該読み出した前記データにエラーが存在する場合、エラー訂正を実行しながら外部に出力するエラー訂正ステップと
を備えることを特徴とするディスク装置のエラー訂正方法。
【請求項５】
前記エラー訂正ステップは、
前記ディスクから読み出された前記データに対してセクタ毎にエラー検出を実行し、エラーを検出した場合には、そのエラーデータの位置を表すエラー位置を算出し、これをエラー位置情報とすると共に、そのエラー位置における誤りビットにフラグが立てられたエラー距離を算出し、これをエラー距離情報とするエラー検出ステップと、
前記記憶部から読み出された前記データのセクタ内における位置をカウントし、これをデータ位置情報とする計数ステップと、
前記計数ステップによって得られた前記データ位置情報と、前記エラー検出ステップによって得られた前記エラー位置情報及び前記エラー距離情報とに基づいて、前記エラー位置における誤りビットにフラグが立てられると共に、当該誤りビットを除くビットにはフラグを立てないエラー距離データを生成する生成ステップと、
前記記憶部から読み出された前記データと、前記生成ステップによって生成された前記エラー距離データとを用いて所定の論理演算を施すことにより、前記データに対しエラー訂正を実行する演算ステップと
を含むことを特徴とする請求項４記載のディスク装置のエラー訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク装置のエラー訂正回路及びその方法に関する。
【背景技術】
【０００２】
ディスク装置は、ディスクから読み出したデータをセクタ単位で一旦バッファメモリに書き込む。この後、従来のディスク装置は、当該格納したデータに誤りが含まれると判断した場合には、そのエラーデータを読み出しエラー訂正を行った後、再びバッファメモリに書き戻す。かかる動作はリードモディファイライトと呼ばれる。（例えば、特許文献１参照。）
このようにして１セクタ中のエラーを全て訂正した後、ディスク装置は、バッファメモリからエラー訂正されたデータを読み出し、当該読み出したデータを例えばホスト（ＰＣ）に転送するようになされている。
【０００３】
ところでかかる構成を有する従来のディスク装置では、バッファメモリに対し、ディスクからデータを読み出しこれをホストに転送する際に、様々なアクセス、例えばディスクから読み出されたデータの書き込み、ホストへ転送するためのデータの読み出し、ディスクフォーマットデータの読み出し、バッファメモリがＤＲＡＭ（Dynamic Random Access Memory）の場合にはリフレッシュ、エラー訂正のためのリードモディファイライトなどが競合する。
【０００４】
また近年開発されたディスク装置では、エラー訂正能力が非常に高く、ペナルティ（時間ロス）が大きいリードモディファイライトが多く実行される可能性があることから、データ転送速度が低下するという問題があった。
【特許文献１】特開平10-188471号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、従来に比して一段とデータ転送速度を向上させることができるディスク装置のエラー訂正回路及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様によるディスク装置のエラー訂正回路は、
ディスクから読み出されたデータに対してセクタ毎にエラー検出を実行し、エラーを検出した場合には、そのエラーデータの位置を表すエラー位置を算出し、これをエラー位置情報として出力すると共に、そのエラー位置における誤りビットにフラグが立てられたエラー距離を算出し、これをエラー距離情報として出力するエラー検出部と、
前記ディスクから読み出された前記データを所定の記憶部に書き込んだ後、所望のタイミングで前記記憶部に記憶されている前記データを読み出す制御部と、
前記記憶部から読み出された前記データのセクタ内における位置をカウントし、これをデータ位置情報として出力する計数部と、
前記計数部から出力された前記データ位置情報と、前記エラー検出部から出力された前記エラー位置情報及び前記エラー距離情報とに基づいて、前記エラー位置における誤りビットにフラグが立てられると共に、当該誤りビットを除くビットにはフラグを立てないエラー距離データを生成して出力する生成部と、
前記記憶部から読み出された前記データと、前記生成部から出力された前記エラー距離データとを用いて所定の論理演算を施すことにより、前記データに対しエラー訂正を実行する演算部と
を備えることを特徴とする。
【０００７】
本発明の一態様によるディスク装置のエラー訂正方法は、
ディスクから読み出されたデータを所定の記憶部に書き込んだ後、所望のタイミングで前記記憶部に記憶されている前記データを読み出す読み出しステップと、
当該読み出した前記データにエラーが存在する場合、エラー訂正を実行しながら外部に出力するエラー訂正ステップと
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明のディスク装置のエラー訂正回路及びその方法によれば、従来に比して一段とデータ転送速度を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について図面を参照して説明する。
【００１０】
図１に、本発明の実施の形態による磁気ディスク装置１の構成を示す。ディスク制御回路２は、ハードディスク３に対するデータの読み書きを制御するための回路であり、当該ハードディスク３からデータＳ１をセクタ単位で読み出し、当該読み出したデータＳ１をディスクＦＩＦＯ（first-in first-out）４に入力して当該ディスクＦＩＦＯ４に一時的に記憶させる。
【００１１】
次いでバッファメモリ制御回路６は、所定のタイミングでディスクＦＩＦＯ４からデータＳ１を読み出し、これをエラー検出回路５に供給する。エラー検出回路５は、このデータＳ１をセクタ単位で与えられると、所定の方式に基づいて当該与えられたデータＳ１のセクタ内におけるエラーの有無を調べる。
【００１２】
その結果、エラー検出回路５は、調査対象のセクタ内においてエラーを検出した場合には、当該セクタ内におけるエラーデータの位置を表すエラー位置を算出し、これをエラー位置情報Ｓ２としてエラー訂正回路７に出力すると共に、当該エラー位置におけるエラーの大きさを表す情報であって、その誤りビットにフラグ「１」が立てられたエラー距離と呼ばれる情報を算出し、これをエラー距離情報Ｓ３としてエラー訂正回路７に出力する。
【００１３】
エラー訂正回路７は、図２に示すように、エラー検出回路５から与えられたエラー位置情報Ｓ２をエラー位置レジスタ８に入力し記憶すると共に、エラー距離情報Ｓ３をエラー距離レジスタ９に入力し記憶する。
【００１４】
一方、バッファメモリ制御回路６は、ディスクＦＩＦＯ４から読み出したデータＳ１をバッファメモリ１０に書き込む。
【００１５】
この後、バッファメモリ制御回路６は、ホスト（ＰＣ）からデータのリード転送要求Ｓ４が送られてくると、当該バッファメモリ１０に記憶されているデータを読み出し、これをデータＳ５としてExclusive-OR（ＥＸ−ＯＲ）回路１１に出力する。
【００１６】
その際、バッファメモリ制御回路６は、バッファメモリ１０から読み出されたデータＳ５が、当該データＳ５が存在するセクタ内において先頭から何番目のデータかをカウントし、セクタ内における当該読み出されたデータＳ５のデータ位置をデータ位置情報Ｓ６としてエラー訂正回路７に出力する。
【００１７】
エラー訂正回路７は、図２に示すように、このデータ位置情報Ｓ６を比較器１２に入力すると共に、エラー位置レジスタ８からエラー位置情報Ｓ２を読み出し、これを比較器１２に入力するようになされている。
【００１８】
比較器１２は、このデータ位置情報Ｓ６とエラー位置情報Ｓ２とを比較し、その結果、当該データ位置情報Ｓ６とエラー位置情報Ｓ２が一致したと判断した場合には、論理レベル「１」の比較情報Ｓ７をＡＮＤ回路１３及びレジスタポインタ生成回路１４に出力する。
【００１９】
これに対して、比較器１２は、データ位置情報Ｓ６とエラー位置情報Ｓ２が一致しないと判断した場合には、論理レベル「０」の比較情報Ｓ７をＡＮＤ回路１３及びレジスタポインタ生成回路１４に出力する。
【００２０】
レジスタポインタ生成回路１４は、論理レベル「１」の比較情報Ｓ７が与えられると、このときのエラー位置レジスタ８から読み出されたエラー位置情報Ｓ２が表すエラー位置におけるエラー距離情報Ｓ３をエラー距離レジスタ９から読み出し、これをＡＮＤ回路１３に出力するようになされている。
【００２１】
ＡＮＤ回路１３は、比較情報Ｓ７とエラー距離情報Ｓ３との論理積を演算することにより、図３に示すように、バッファメモリ１０から読み出されたデータＳ５のうち、誤っているビットにフラグ「１」が立てられたエラー距離データＳ８を生成し、これをExclusive-OR回路１１に出力する。
【００２２】
具体的にはＡＮＤ回路１３は、比較器１２から論理レベル「１」の比較情報Ｓ７が供給された場合には、誤っているビットにフラグ「１」が立てられたエラー距離データＳ８をExclusive-OR回路１１に出力するのに対して、比較器１２から論理レベル「０」の比較情報Ｓ７が供給された場合には、全てのビットが論理レベル「０」からなる、フラグ「１」を立てないエラー距離データＳ８をExclusive-OR回路１１に出力する。
【００２３】
Exclusive-OR回路１１は、図３に示すように、バッファメモリ１０からバッファメモリ制御回路６を介して供給されたデータＳ５と、エラー訂正回路７から供給されたエラー距離データＳ８との排他的論理和を演算することにより、当該データＳ５に対してエラー訂正を実行し、その結果得られたデータＳ９をホストＦＩＦＯ１５に出力して一時的に記憶する。そしてホストインタフェース制御回路１６は、所定のタイミングでホストＦＩＦＯ１５からデータＳ９を読み出し、これを外部のホスト（ＰＣ）に出力する。
【００２４】
以上の構成を備えたことにより、磁気ディスク装置１では、ハードディスク３から読み出されたデータS１をバッファメモリ１０に書き込んだ後、所望のタイミングで当該バッファメモリ１０に記憶されているデータＳ５をエラーの有無に関らず読み出し、当該読み出したデータＳ５にエラーが存在する場合、エラー訂正を行いながらホスト（ＰＣ）に出力するようにしたことにより、従来のようにバッファメモリ１０からエラーデータを読み出しエラー訂正を行った後、再びバッファメモリ１０に書き込むリードモディファイライトを行う必要がなく、その分、従来に比して一段とディスク転送速度を向上させることができる。
【００２５】
なお上述の実施の形態においては、記録媒体としてハードディスク３を適用した場合について述べたが、本発明はこれに限らず、例えばＤＶＤ（Digital Versatile Disk）のように、他の種々の記録媒体を適用するようにしても良い。
【００２６】
また上述の実施の形態においては、制御部としてバッファメモリ制御回路６を適用した場合について述べたが、本発明はこれに限らず、ディスクから読み出されたデータを所定の記憶部に書き込んだ後、所望のタイミングで当該記憶部に記憶されているデータを読み出し得るものであれば良い。
【００２７】
また上述の実施の形態においては、計数部としてバッファメモリ制御回路６を適用した場合について述べたが、本発明はこれに限らず、記憶部から読み出されたデータのセクタ内における位置をカウントし、これをデータ位置情報として出力し得るものであれば良い。
【００２８】
また上述の実施の形態においては、生成部としてエラー訂正回路７を適用した場合について述べたが、本発明はこれに限らず、計数部から出力されたデータ位置情報と、エラー検出部から出力されたエラー位置情報及びエラー距離情報とに基づいて、エラー位置における誤りビットにフラグが立てられると共に、当該誤りビットを除くビットにはフラグを立てないエラー距離データを生成して出力し得るものであれば良い。
【００２９】
また上述の実施の形態においては、演算部としてExclusive-OR回路１１を適用した場合について述べたが、本発明はこれに限らず、記憶部から読み出されたデータと、生成部から出力されたエラー距離データとを用いて所定の論理演算を施すことにより、データに対しエラー訂正を実行し得るものであれば良い。
【００３０】
さらに上述の実施の形態においては、一時記憶部としてエラー位置レジスタ８及びエラー距離レジスタ９を適用した場合について述べたが、本発明はこれに限らず、エラー検出部から出力されたエラー位置情報及びエラー距離情報を一時的に記憶し得るものであれば良い。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態による磁気ディスク装置の構成を示すブロック図である。
【図２】同磁気ディスク装置におけるエラー訂正回路の構成を示すブロック図である。
【図３】同エラー訂正回路においてエラー訂正を行う手順を示した説明図である。
【符号の説明】
【００３２】
１  磁気ディスク装置
２  ディスク制御回路
３  ハードディスク
４  ディスクＦＩＦＯ
５  エラー検出回路
６  バッファメモリ制御回路
７  エラー訂正回路
８  エラー位置レジスタ
９  エラー距離レジスタ
１０  バッファメモリ
１１  ＥＸ−ＯＲ回路
１２  比較器
１３  ＡＮＤ回路
１４  レジスタポインタ生成回路
１５  ホストＦＩＦＯ
１６  ホストインタフェース制御回路１６
【図１】
2005228409.tif 000003
【図２】
2005228409.tif 000004
【図３】
2005228409.tif 000005