【手続補正書】
【提出日】平成16年3月19日(2004.3.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ディスクからの読み出しデータ及びディスクへの書き込みデータを一時記憶するバッファメモリと、ホスト装置とインタフェースバスを介して接続され、前記ホスト装置からのリード／ライト系コマンドの指定に従って、前記ホスト装置と前記バッファメモリとの間のデータ転送であるホスト転送、及び前記ディスクと前記バッファメモリとの間のデータ転送であるディスク転送を制御し、前記バッファメモリ内の有効なデータブロック数とリコネクトポインタレジスタに設定されたリコネクトポインタ値とから決定されるタイミングで前記ディスク転送を再開させるリコネクトを行い、前記バッファメモリがバッファフル状態またはバッファエンプティ状態となった場合に、リード／ライトの種別をもとに前記ホスト転送または前記ディスク転送を中断させるディスクコントローラと、前記ディスクコントローラを制御するためのディスクコントローラ制御プログラムを含む各種制御プログラムが格納された制御プログラムメモリと、前記各種制御プログラムに従って装置全体を制御する制御プログラム実行手段とを備えたディスク装置において、
前記ホスト装置と前記バッファメモリとの間の前記ホスト転送レートを取得するホスト転送レート取得手段と、
前記ディスクと前記バッファメモリとの間の前記ディスク転送レートを取得するディスク転送レート取得手段と、
前記ホスト転送レート取得手段により取得された前記ホスト転送レートと前記ディスク転送レート取得手段により取得された前記ディスク転送レートとの差をもとに、リード系コマンド実行時用或いはライト系コマンド実行時用のリコネクトポインタ値を決定するリコネクトポイント決定手段と、
前記リコネクトポイント決定手段により決定された前記リコネクトポインタ値を前記リコネクトポインタレジスタに設定するリコネクトポインタ設定手段とを具備することを特徴とするディスク装置。
【請求項２】
予め定められた種々のホスト転送レート及びディスク転送レートの組み合わせ毎に、そのホスト転送レート及びディスク転送レートの差から決定されたリコネクトポインタ値がリード系コマンド実行時用とライト系コマンド実行時用のそれぞれについて登録されたリコネクトポインタテーブルが格納されたリコネクトポインタテーブル格納手段を更に具備し、
前記リコネクトポイント決定手段は、前記ホスト転送レート取得手段により取得された前記ホスト転送レートと前記ディスク転送レート取得手段により取得された前記ディスク転送レートの組み合わせにより前記リコネクトポインタテーブルを参照することで、リード系コマンド実行時用或いはライト系コマンド実行時用用のリコネクトポインタ値を決定することを特徴とする請求項１記載のディスク装置。
【請求項３】
前記ホスト転送レート取得手段は、前記ホスト装置が前記ディスク装置との間で行うネゴシエーションにより決定されたホスト転送レートを取得することを特徴とする請求項１または請求項２に記載のディスク装置。
【請求項４】
前記ホスト転送レート取得手段は、前記インタフェースバスでのデータ転送状況を監視することで前記ホスト転送レートを取得するホスト転送レート検出回路から構成されることを特徴とする請求項１または請求項２に記載のディスク装置。
【請求項５】
前記ホスト転送レート検出回路は、前記インタフェースバスを監視して、データ転送を開始するためのデータフェーズを検出するデータフェーズ検出回路と、前記データフェーズ検出回路によるデータフェーズ検出に応じて一定時間を計測するタイマと、前記タイマの計測期間中前記インタフェースバス上のデータ転送タイミングを表す特定信号線上の信号をクロックとして入力して、前記計測期間中の転送量をカウントするカウンタと、前記タイマの計測終了時における前記カウンタのカウント値と前記タイマの計測時間をもとに前記ホスト転送レートを算出するホスト転送レート算出回路とから構成されることを特徴とする請求項４記載のディスク装置。
【請求項６】
前記ディスクコントローラに設けられ、前記ホスト装置と前記バッファメモリとの間のホスト転送量をカウントするホスト転送量カウンタを備えると共に、
前記制御プログラムメモリに格納された前記ディスクコントローラ制御プログラムに前記ホスト転送レートを算出するためのホスト転送レート算出ルーチンを持たせ、
前記ホスト転送レート取得手段は、前記制御プログラム実行手段が前記ディスクコントローラ制御プログラムの前記ホスト転送レート算出ルーチンを実行することにより実現され、前記ディスク転送中の任意の時点の前記ホスト転送量カウンタの値と、一定時間後の前記ホスト転送量カウンタの値とを順に読み込んで、前記一定時間でのホスト転送量を求めることで、前記ホスト転送レートを算出することを特徴とする請求項１または請求項２に記載のディスク装置。
【請求項７】
前記ディスクは当該ディスクの記録面が半径方向に複数のゾーンに分割され、各ゾーン毎にディスク転送レートが異なるＣＤＲ方式のディスクフォーマットを適用しており、
前記リコネクトポイント決定手段は、ディスクアクセス位置が属する前記ゾーンが変わるときには、前記リコネクトポインタ値を決定し直すことを特徴とする請求項１または請求項２に記載のディスク装置。
【請求項８】
前記リコネクトポイント決定手段は、リード系のコマンドの実行時に、当該コマンドの指定する転送サイズが前記リコネクトポインタ値より小さい場合には、前記指定転送サイズの有効なデータが前記ディスクから前記バッファメモリに全て転送される前の最適な値に前記リコネクトポインタ値を変更することを特徴とする請求項１または請求項２に記載のディスク装置。
【請求項９】
前記リコネクトポイント決定手段は、ライト系のコマンドの実行時途中で前記バッファメモリがバッファフル状態になってディスコネクトされたとき、転送すべき残りの転送サイズが前記バッファメモリのサイズより小さい場合には、前記リコネクトポインタ値を再度前記バッファフル状態にならない最適な値に変更することを特徴とする請求項１または請求項２に記載のディスク装置。
【請求項１０】
ディスクからの読み出しデータ及びディスクへの書き込みデータを一時記憶するバッファメモリと、ホスト装置とインタフェースバスを介して接続され、前記ホスト装置からのリード／ライト系コマンドの指定に従って、前記ホスト装置と前記バッファメモリとの間のデータ転送であるホスト転送、及び前記ディスクと前記バッファメモリとの間のデータ転送であるディスク転送を制御し、前記バッファメモリ内の有効なデータブロック数とリコネクトポインタレジスタに設定されたリコネクトポインタ値とから決定されるタイミングで前記ディスク転送を再開させるリコネクトを行い、前記バッファメモリがバッファフル状態またはバッファエンプティ状態となった場合に、リード／ライトの種別をもとに前記ホスト転送または前記ディスク転送を中断させるディスクコントローラと、前記ディスクコントローラを制御するためのディスクコントローラ制御プログラムを含む各種制御プログラムが格納された制御プログラムメモリと、前記各種制御プログラムに従って装置全体を制御する制御プログラム実行手段とを備えたディスク装置におけるリコネクトポイント自動設定方法であって、
前記ホスト装置と前記バッファメモリとの間の前記ホスト転送レートを取得する一方、
前記ディスクと前記バッファメモリとの間の前記ディスク転送レートを取得すし、
前記取得した前記ホスト転送レートと前記ディスク転送レートとの差をもとに、リード系コマンド実行時用或いはライト系コマンド実行時用のリコネクトポインタ値を決定して、前記リコネクトポインタレジスタに設定するようにしたことを特徴とするリコネクトポイント自動設定方法。