(57)【要約】【課題】データ転送での通信エラー発生時における通信効率を向上させることができるようにする。【解決手段】メモリ１からリードし、ＨＤＤ４へ画像データをライトする場合、ＨＤＤ  Ｉ／Ｆ３ではＤＭＡＣ２より転送された画像データをリトライ用バッファに蓄積し、１回の転送分蓄積終了したらＨＤＤ４へ画像データをライトする。このとき、シリアル通信エラーが発生した場合、ＨＤＤ  Ｉ／Ｆ３内のリトライ用バッファに蓄積された画像データを再送する。【選択図】図２
2008269335.tif 000002
【特許請求の範囲】
【請求項１】
他の機器とデータ通信を行うインタフェースを備え、
リトライ用バッファを有し、
前記インタフェースを介したデータ通信における通信エラー発生時に、前記リトライ用バッファを用いることでソフトウェアの介在無く、ハードウェアでリトライ処理を行うことを特徴とするデータ転送集積回路。
【請求項２】
他の機器とデータ通信を行うインタフェースを備え、
ＤＭＡＣ（Direct Memory Access Controller）への再起動機能を有し、
前記インタフェースを介したデータ通信における通信エラー発生時に、前記ＤＭＡＣへの再起動を行うことでソフトウェアの介在無く、ハードウェアでリトライ処理を行うことを特徴とするデータ転送集積回路。
【請求項３】
前記インタフェースを介したデータ通信における通信エラーの発生回数に応じて割り込みを発生させる割り込み発生手段を備えたことを特徴とする請求項１または２記載のデータ転送集積回路。
【請求項４】
前記インタフェースを介したデータ通信における通信エラーの発生回数に応じて該インタフェースによる通信速度をダウンさせる通信速度制御手段を備えたことを特徴とする請求項１または２記載のデータ転送集積回路。
【請求項５】
前記インタフェースを介したデータ通信における通信エラーが予め定められた回数発生すると前記割り込み発生手段が割り込みを行うことを特徴とする請求項３記載のデータ転送集積回路。
【請求項６】
前記インタフェースを介したデータ通信における通信エラーが予め定められた回数発生すると前記通信速度制御手段が該インタフェースによる通信速度をダウンさせることを特徴とする請求項４記載のデータ転送集積回路。
【請求項７】
後記処理を行うまでの通信エラー発生回数の設定を受ける回数設定手段を備え、
前記インタフェースを介したデータ通信における通信エラーが前記回数設定手段により設定された回数だけ発生すると前記割り込み発生手段が割り込みを行うことを特徴とする請求項３記載のデータ転送集積回路。
【請求項８】
後記処理を行うまでの通信エラー発生回数の設定を受ける回数設定手段を備え、
前記インタフェースを介したデータ通信における通信エラーが前記回数設定手段により設定された回数だけ発生すると前記通信速度制御手段が該インタフェースによる通信速度をダウンさせることを特徴とする請求項４記載のデータ転送集積回路。
【請求項９】
請求項１から８の何れか１項に記載のデータ転送集積回路を備え、前記インタフェースを介してハードディスクへ書き込み／読み込みを行う機能を備えたことを特徴とするデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＡＳＩＣ（Application Specific Integrated Circuit）など、外部と情報を送受信するインタフェースを備え、そのインタフェースによりデータ転送を行うデータ転送集積回路および、その集積回路を備えたデータ転送装置に関する。
【背景技術】
【０００２】
従来、ＨＤＤ（Hard Disk Drive）インタフェースはパラレルＡＴＡ（AT Attachment）だったので、ＣＲＣ（Cyclic Redundancy Check）エラーなどの通信エラーは非常に少なく本当に問題がある場合にしか発生しなかった。これに対してＳ−ＡＴＡのＨＤＤインタフェースの場合、高速（１．５／３／６Ｇｂｐｓ）シリアル通信のため規格上ビットエラーレートが１０-12とパラレルＡＴＡと比較して非常に高い。
【０００３】
また、データの記録や再生におけるリトライ回数を制御する装置の例として、記録媒体のデータ記録領域に発生した欠陥を検出する手段と、データの記録または再生の単位の大きさに対応して、欠陥を検出するとき計数される、記録媒体にデータを記録または再生することができなかった回数を変更する手段とを備えたものがある（例えば、特許文献１参照）。
【特許文献１】特開２０００−１４９４６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したＳ−ＡＴＡのＨＤＤインタフェースでシリアル通信エラーが発生した場合、現状は割り込みを発生させているが、例えばＳ−ＡＴＡ上の通信速度が１．５Ｇｂｐｓの場合、１１分に１回割り込みが発生してしまうこととなる。このため、この割り込みをソフトウェアで処理して再送受信を行うと効率が悪いという問題がある。
【０００５】
また、上述した特許文献１のものは、データの連続性を損なわず、データを効率的に記録または再生するようにするものであり、通信エラー発生時の割り込みをソフトウェアで処理することによる効率の悪さを改善することについてまで考慮されたものではなかった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、データ転送での通信エラー発生時における通信効率を向上させることができるデータ転送集積回路およびデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するために、本発明に係るデータ転送集積回路は、他の機器とデータ通信を行うインタフェースを備え、リトライ用バッファを有し、上記インタフェースを介したデータ通信における通信エラー発生時に、上記リトライ用バッファを用いることでソフトウェアの介在無く、ハードウェアでリトライ処理を行うことを特徴とする。
【０００８】
また、本発明に係るデータ転送集積回路は、他の機器とデータ通信を行うインタフェースを備え、ＤＭＡＣ（Direct Memory Access Controller）への再起動機能を有し、上記インタフェースを介したデータ通信における通信エラー発生時に、上記ＤＭＡＣへの再起動を行うことでソフトウェアの介在無く、ハードウェアでリトライ処理を行うことであってもよい。
【０００９】
上記インタフェースを介したデータ通信における通信エラーの発生回数に応じて割り込みを発生させる割り込み発生手段を備えたことが好ましい。
【００１０】
上記インタフェースを介したデータ通信における通信エラーの発生回数に応じて該インタフェースによる通信速度をダウンさせる通信速度制御手段を備えたことであってもよい。
【００１１】
上記インタフェースを介したデータ通信における通信エラーが予め定められた回数発生すると上記割り込み発生手段が割り込みを行うことが好ましい。
【００１２】
上記インタフェースを介したデータ通信における通信エラーが予め定められた回数発生すると上記通信速度制御手段が該インタフェースによる通信速度をダウンさせることであってもよい。
【００１３】
後記処理を行うまでの通信エラー発生回数の設定を受ける回数設定手段を備え、上記インタフェースを介したデータ通信における通信エラーが上記回数設定手段により設定された回数だけ発生すると上記割り込み発生手段が割り込みを行うことであってもよい。
【００１４】
後記処理を行うまでの通信エラー発生回数の設定を受ける回数設定手段を備え、上記インタフェースを介したデータ通信における通信エラーが上記回数設定手段により設定された回数だけ発生すると上記通信速度制御手段が該インタフェースによる通信速度をダウンさせることであってもよい。
【００１５】
また、本発明に係るデータ転送装置は、上述した本発明に係るデータ転送集積回路を備え、上記インタフェースを介してハードディスクへ書き込み／読み込みを行う機能を備えたことを特徴とする。
【発明の効果】
【００１６】
以上のように、本発明によれば、データ転送での通信エラー発生時における通信効率を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明に係るデータ転送集積回路およびデータ転送装置を、Ｓ−ＡＴＡインタフェースを有するＡＳＩＣおよび電子複合機に適用した一実施形態について、図面を用いて詳細に説明する。
【００１８】
まず、本発明の各実施形態に共通するＡＳＩＣのＳ−ＡＴＡインタフェース部分の基本的な構成、および動作について、簡単に説明する。
図１は、本実施形態に係る電子複合機（データ転送装置）に搭載されるＡＳＩＣの構成の一部を示した図である。
【００１９】
メモリ１は、本実施形態の電子複合機で扱う画像データなどの各種データを一時的に格納したり、ＣＰＵが作業領域として使用するためのメモリである。
【００２０】
ＤＭＡＣ（Direct Memory Access Controller）２は、ＨＤＤ４より画像データを読み出す場合、ＨＤＤ  Ｉ／Ｆ（インタフェース）３より画像データを受け取り、メモリ１へ書き込む。また、ＨＤＤ４へ画像データを書き込む場合、メモリ１より画像データを読み出し、ＨＤＤ  Ｉ／Ｆ３へ画像データを渡す。
【００２１】
ＨＤＤ  Ｉ／Ｆ３は、ＨＤＤ４より画像データを読み出す場合、接続されている複数台のＨＤＤ４より画像データを読み出し、適切なデータ配列処理を行いＤＭＡＣ２へ渡す。また、ＨＤＤ４へ画像データを書き込む場合、ＤＭＡＣ２より画像データを受け取り、接続されている複数台のＨＤＤに応じたデータ配列に分割処理を行いＨＤＤ４へ渡す。
本実施形態に係るＡＳＩＣは、ＨＤＤ４とはＳ−ＡＴＡインタフェースで接続されており、ＨＤＤ  Ｉ／Ｆ３が高速シリアル通信のインタフェースとなっている。ＨＤＤ＿Ａ／Ｂ／Ｃ／ＤはＳ−ＡＴＡ規格に準拠したＨＤＤデバイスである。
【００２２】
上述した本実施形態の構成では、リトライ用バッファ及びその制御回路、シリアル通信エラーのカウント及びその制御回路は、ＨＤＤ  Ｉ／Ｆ３部分に含まれているものとする。
【００２３】
〔第１の実施形態〕
次に、本発明の第１の実施形態について、図１，図２を参照して説明する。
この第１の実施形態は、ＨＤＤ  Ｉ／Ｆ３内にリトライ用バッファを設けた構成となっている。
【００２４】
ここでは、ＨＤＤインタフェースを有する電子複合機（コピー機能、プリンタ機能、ファクシミリ機能、スキャナ機能などを有する）について考える。上記の電子複合機のＡＳＩＣは、複数のＳ−ＡＴＡインタフェースを有し、電子複合機で扱う画像データまたはその他データをＨＤＤ４へ書き込み／読み込みを行う機能を有する。
こうしたＳ−ＡＴＡインタフェースを有するＡＳＩＣであって、リトライ用バッファを有し、Ｓ−ＡＴＡ  Ｉ／Ｆのシリアル通信エラー発生時にソフトウェアの介在無く、ハードウェアで自動的にリトライ処理を行うように構成される。
【００２５】
次に、第１の実施形態の動作について、図２のフローチャートを参照して説明する。
まず、メモリ１からリードし、ＨＤＤ４へ画像データをライトする場合について説明する。
ソフトウェアによりＤＭＡＣ２が起動されると、ＤＭＡＣ２はＨＤＤ  Ｉ／Ｆ３を介してＨＤＤ４へライトコマンドを発行する。これと並行してＤＭＡＣ２は指定されたメモリアドレスより画像データをリードし、ＨＤＤ  Ｉ／Ｆ３へ転送する。ＨＤＤ  Ｉ／Ｆ３ではＤＭＡＣ２より転送された画像データをリトライ用バッファに蓄積し、１回の転送分蓄積終了したらＨＤＤ４へ画像データをライトする。このとき、シリアル通信エラーが発生した場合、ＨＤＤ  Ｉ／Ｆ３内のリトライ用バッファに蓄積された画像データを再送する。
【００２６】
次に、ＨＤＤ４からリードし、メモリ１へ画像データをライトする場合について説明する。
ソフトウェアによりＤＭＡＣ２が起動されると、ＤＭＡＣ２はＨＤＤ  Ｉ／Ｆ３を介してＨＤＤ４へリードコマンドを発行する。ＨＤＤ４より送信された画像データを一旦リトライ用バッファに蓄積する。シリアル通信エラーが無かった場合は、リトライ用バッファに蓄積された画像データをＤＭＡＣ２が指定されたメモリアドレスへライトする。このとき、シリアル通信エラーが発生した場合、リトライ用バッファの蓄積した画像データをＤＭＡＣ２へ転送せず破棄する。
【００２７】
上述した第１の実施形態によれば、ソフトウェア処理の介在無くリトライバッファを使ってハードウェアにて自動的に再送受信するため、効率低下を回避することが可能となる。
【００２８】
〔第２の実施形態〕
次に、本発明の第２の実施形態について、図１，図３を参照して説明する。
この第２の実施形態は、ＨＤＤ  Ｉ／Ｆ３がシリアル通信エラーを検出した場合、ＤＭＡＣ２へ対して再起動を行える機能を備えた構成となっている。
【００２９】
より詳述すると、ＡＳＩＣがＤＭＡＣ２への再起動機能を有し、Ｓ−ＡＴＡ  Ｉ／Ｆのシリアル通信エラー発生時にソフトウェアの介在無く、ハードウェアで自動的にリトライ処理を行うものである。
【００３０】
次に、第２の実施形態の動作について、図３のフローチャートを参照して説明する。
まず、メモリ１からリードし、ＨＤＤ４へ画像データをライトする場合について説明する。
【００３１】
ソフトウェアによりＤＭＡＣ２が起動されると、ＤＭＡＣ２はＨＤＤ  Ｉ／Ｆ３を介してＨＤＤ４へライトコマンドを発行する。これと並行してＤＭＡＣ２は指定されたメモリアドレスより画像データをリードし、ＨＤＤ  Ｉ／Ｆ３へ転送する。ＨＤＤ  Ｉ／Ｆ３ではＤＭＡＣ２より転送された画像データをＨＤＤ４へライトする。このとき、シリアル通信エラーが発生した場合、ＨＤＤ  Ｉ／Ｆ３はＤＭＡＣ２へ対して再起動要求を発行する。これを受けたＤＭＡＣ２は、実行されている転送を一旦中止し、再度起動し直す。再起動後は、ライトコマンド発行の手順からやり直す。
【００３２】
次に、ＨＤＤ４からリードし、メモリ１へ画像データをライトする場合について説明する。
ソフトウェアによりＤＭＡＣ２が起動されると、ＤＭＡＣ２はＨＤＤ  Ｉ／Ｆ３を介してＨＤＤ４へリードコマンドを発行する。シリアル通信エラーが無い場合は、受信した画像データをＤＭＡＣ２が指定されたメモリアドレスへライトする。もし、シリアル通信エラーが発生した場合は、ＨＤＤ  Ｉ／Ｆ３はＤＭＡＣ２へ対して再起動要求を発行する。これを受けたＤＭＡＣ２は、実行されている転送を一旦中止し、再度起動し直す。再起動後は、リードコマンド発行の手順からやり直す。
【００３３】
上述した第２の実施形態によれば、再送受信用のリトライバッファを使用することなく、ハードウェアにて再送受信処理が可能になるため、回路規模の増大を回避すると同時に、効率低下を回避することが可能となる。
【００３４】
〔第３の実施形態〕
次に、本発明の第３の実施形態について、図１，図４を参照して説明する。
この第３の実施形態は、ＨＤＤ  Ｉ／Ｆ３内にシリアル通信エラーの発生回数をカウントする機能と、そのカウント値と固定値を比較する機能と、割り込みを発生する機能を追加した構成となっている。
より詳述すると、上述した第１または第２の実施形態におけるＡＳＩＣにおいて、シリアル通信エラーが規定回数発生したら割り込みを発生させるものである。
【００３５】
次に、第３の実施形態の動作について、図４のフローチャートを参照して説明する。
ここでは、メモリ１からリードしＨＤＤ４へ画像データをライトする場合も、ＨＤＤ４からリードしメモリ１へ画像データをライトする場合も同様なので、メモリ１からリードしＨＤＤ４へ画像データをライトする場合を例として挙げて説明する。
【００３６】
シリアル通信エラーが発生した場合、ＨＤＤ  Ｉ／Ｆ３はエラーの発生回数カウントをインクリメントし、予め定められた固定値と比較する。固定値以下だった場合は、第１または第２の実施形態のエラー処理を行う。固定値を越えた場合は、ＤＭＡＣ２を停止させ、割り込みを発生させる（割り込み発生手段）。
例えば、ソフトウェアはこの割り込み処理内で、ＨＤＤのステータスを取得し、ＨＤＤの交換を促すなどの表示を行う。
【００３７】
上述した第３の実施形態によれば、シリアル通信エラーが規定回数発生した場合、割り込みを発生させることが可能となるので、この割り込みにてＨＤＤのデバイスチェックを行いＨＤＤに品質的な問題があった場合には交換することを通知することが可能となる。
また、ＨＤＤの品質不良であった場合、交換することによりシリアル通信エラーを低下させることができ、システムとしてのパフォーマンスを保持することができる。
【００３８】
〔第４の実施形態〕
次に、本発明の第４の実施形態について、図１，図５を参照して説明する。
この第４の実施形態は、ＨＤＤ  Ｉ／Ｆ３内にＨＤＤとの通信速度を設定出来る機能を追加した構成となっている。
【００３９】
より詳述すると、上述した第１または第２の実施形態におけるＡＳＩＣにおいて、シリアル通信エラーが規定回数発生したらＳ−ＡＴＡインタフェースの通信速度をダウンさせるようにしたものである。
【００４０】
次に、第４の実施形態の動作について、図５のフローチャートを参照して説明する。
ここでは、メモリ１からリードしＨＤＤ４へ画像データをライトする場合も、ＨＤＤ４からリードしメモリ１へ画像データをライトする場合も同様なので、メモリ１からリードしＨＤＤ４へ画像データをライトする場合を例としてあげる。
【００４１】
シリアル通信エラーが発生した場合、ＨＤＤ  Ｉ／Ｆ３はエラーの発生回数カウントをインクリメントし、予め定められた固定値と比較する。固定値以下だった場合は、第１または第２の実施形態のエラー処理を行う。固定値を越えた場合は、Ｓ−ＡＴＡの通信速度を１段階ダウン（例えば、３．０Ｇｂｐｓ→１．５Ｇｂｐｓ）させ、ＨＤＤデバイスにリセットをかける。リセット後、ＨＤＤ  Ｉ／Ｆ３とＨＤＤデバイス間でネゴシエーションが実行され、１段階シフトダウンした通信速度で再リンクされる（通信速度制御手段）。
【００４２】
このネゴシエーション完了後、ＨＤＤ  Ｉ／Ｆ３はＤＭＡＣ２へ対して再起動要求を発行する。これを受けたＤＭＡＣ２は、実行されている転送を一旦中止し、再度起動し直す。再起動後は、ライトコマンド発行の手順からやり直す。
【００４３】
上述した第４の実施形態によれば、シリアル通信エラーが規定回数発生した場合、Ｓ−ＡＴＡインタフェースの通信速度をダウンすることが可能となるので、シリアル通信エラーが低下させることが出来る。
【００４４】
〔他の実施形態〕
また、上述した第３，第４の実施形態について、ＨＤＤ  Ｉ／Ｆ３内にシリアル通信エラーの規定回数をソフトウェアで設定可能なようにレジスタを設けるようにしてもよい（回数設定手段）。
すなわち、上述した第３，第４の実施形態としてのＡＳＩＣにおいて、シリアル通信エラーの規定回数を任意の回数に設定可能なものとしてもよい。
【００４５】
この構成例での動作としては、まず、上述した第３，第４の実施形態でのシリアル通信エラー発生時の処理を行うまでの回数設定について、不図示の入力手段などによりユーザから設定入力を受ける。
そして、上述した第３，第４の実施形態でのシリアル通信エラー発生時の処理で、エラーの発生回数カウントを上述のレジスタに設定された規定回数と比較する。他の動作は、上述した第３，第４の実施形態と同様となる。
このため、上述した図４，図５それぞれに示される動作について、図中の規定回数がレジスタで任意に設定可能となる。
【００４６】
上述した構成例によれば、シリアル通信エラーの規定回数を妥当な値に設定することが可能となるので、ＨＤＤデバイスの交換時期や、通信速度のダウンを適切に実施することが出来る。
【００４７】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
例えば、上述した各実施形態では、電子複合機として説明したが、例えば、コピー機、プリンタ、ファクシミリなどの画像形成装置やスキャナなどであってもよい。
また、電子複合機におけるＨＤＤ  Ｉ／Ｆのエラー処理方式あるいはＳ−ＡＴＡ  Ｉ／Ｆのエラー処理方式としての各種分野にも同様に適用することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態としてのＡＳＩＣの構成例を示すブロック図である。
【図２】第１の実施形態による動作例を示すシーケンス図である。
【図３】第２の実施形態による動作例を示すシーケンス図である。
【図４】第３の実施形態による動作例を示すシーケンス図である。
【図５】第４の実施形態による動作例を示すシーケンス図である。
【符号の説明】
【００４９】
１    メモリ
２    ＤＭＡＣ
３    ＨＤＤ  Ｉ／Ｆ
４    ＨＤＤ
【図１】
2008269335.tif 000003
【図２】
2008269335.tif 000004
【図３】
2008269335.tif 000005
【図４】
2008269335.tif 000006
【図５】
2008269335.tif 000007