(57)【要約】【課題】高速でデータをリード／ライトすることができるＵＳＢ接続のフレキシブルディスクドライブ装置におけるトラックのリード／ライト方法を提供する。【解決手段】ＵＳＢＦＤＤ装置１００を、ＵＳＢコントローラ１０１とＦＩＦＯ１０２と、ＣＰＵ１０４を制御するソフトウェアが書き込まれているファームウエアＲＯＭ１０３と、ＲＡＭ１０５及びＦＤＣ１０６と、このＦＤＣ１０６に接続したＦＤＤ１０７から構成する。ヘッド上に位置するディスクのセクタ番号をリード／ライト処理に先行して読取り、そのセクタ番号の次のセクタからデータのリード／ライトを行う。【選択図】　図１
2004103103.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ接続のフレキシブルディスクドライブ装置におけるフレキシブルディスクのトラックをリード／ライトする方法において、ヘッド上に位置するディスクのセクタ番号をリード／ライト処理に先行して読取り、そのセクタ番号の次のセクタからデータのリード／ライトを行うことを特徴とするＵＳＢ接続のフレキシブルディスクドライブ装置のリード／ライト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＵＳＢ接続のフレキシブルディスクドライブ装置（以下、ＵＳＢＦＤＤ装置という。）におけるトラックのリード／ライト方法に関するものである。
【０００２】
【従来の技術】
従来のＵＳＢＦＤＤ装置におけるトラックのリード／ライト方法を図３に示すフローチャートによって説明する。
【０００３】
まず、ＵＳＢＦＤＤ装置のファームウェアは、ＳＥＥＫコマンドをＦＤＣ（フレキシブルディスクコントローラ）に対して発行し、ディスク上のリード／ライトを行う目的のトラックへヘッドを移動させる（ステップ２０）。
【０００４】
次に、ディスクのリード処理（ステップ２１）の場合は、トラックの先頭（セクタ番号１）から１トラック分のデータを読取るために、ファームウェアはＦＤＣに対してＲＥＡＤ　ＤＡＴＡコマンドを発行する（ステップ２２）。
【０００５】
コマンド発行時に、ヘッドが先頭セクタに位置しているとは限らないため、先頭セクタ（セクタ番号１）がヘッド上に来るまで回転待ちが発生する（ステップ２３）。
【０００６】
先頭セクタがヘッド上にきた時、ＦＤＣは１トラック分（セクタ番号１から最終セクタまで）のデータをディスクからＵＳＢＦＤＤ装置内のＲＡＭへ転送する（ステップ２４）。
【０００７】
また、ディスクのライト処理の場合は、トラックの先頭（セクタ番号１）から１トラック分のデータを書込むために、ファームウェアはＦＤＣ対してＷＲＩＴＥ　ＤＡＴＡコマンドを発行する（ステップ２５）。
【０００８】
コマンド発行時に、ヘッドが先頭セクタに位置しているとは限らないため、先頭セクタ（セクタ番号１）がヘッド上に来るまで回転待ちが発生する（ステップ２６）。
【０００９】
先頭セクタがヘッド上にきた時、ＦＤＣは１トラック分（セクタ番号１から最終セクタまで）のデータをＵＳＢＦＤＤ装置内のＲＡＭからディスクへ転送する（ステップ２７）。
【００１０】
ところがこの従来技術では、トラックの先頭セクタからリード、または、先頭セクタヘのライトを行おうとしたため、先頭セクタがヘッド上に来るまで回転待ちが発生してしまい、リード／ライト処理に遅延が発生するという問題があった。
【００１１】
【発明が解決しようとする課題】
そこで本発明は、高速でデータをリード／ライトする方法を提供しようとするものである。
【００１２】
【課題を解決するための手段】
本発明は、上記の課題を解決するためになされたもので、ヘッド上に位置するディスクのセクタ番号をリード／ライト処理に先行して読取り、そのセクタ番号の次のセクタからデータのリード／ライトを行うことにより、ディスクの回転待ちを回避しリード／ライトの高速化を図ったものである。
【００１３】
【発明の実施の形態】
以下、本発明の１実施例を図面に基づき説明する。
【００１４】
図１は本発明を適用したＵＳＢＦＤＤ装置の構成を示すブロック図で、１００はＵＳＢＦＤＤ装置、１０１はＵＳＢコントローラである。このＵＳＢコントローラ１０１は、ＵＳＢバス１０２に流れるシリアルデータを受信し、そのトランザクションの種類に応じて、対応するＦＩＦＯ（ファーストインファーストアウトＲＯＭ）１０８にデータを格納する。また、逆にＦＩＦＯデータをＵＳＢバス１０２に送信する。
【００１５】
１０３はファームウェアＲＯＭで本装置を制御するソフトウェアが書き込まれており、ＣＰＵ１０４に指令してＦＩＦＯデータをＲＡＭ１０５に読み出したり、あるいは、その逆を行う。また、ファームウェアＲＯＭ１０３は、ＲＡＭ１０５に読み出したデータを必要に応じて、ＦＤＣ１０６に指令を出してＦＤＤ１０７に挿入されたメディアに書き込んだり、あるいは、その逆を行うように構成されている。
【００１６】
即ち、ＵＳＢＦＤＤ装置１００を、ＵＳＢバス１０２に流れるシリアルデータを受信し、そのトランザクションの種類に応じて、対応するＦＩＦＯ１０２に送信し、また、逆にＦＩＦＯデータをＵＳＢバス１０２に送信するＵＳＢコントローラ１０１と、ＣＰＵ１０４を制御するソフトウェアが書き込まれているファームウエアＲＯＭ１０３と、前記ＣＰＵ１０４に接続されるＲＡＭ１０５及びＦＤＣ１０６と、このＦＤＣ１０６に接続したＦＤＤ１０７から構成すると共に、ファームウエアＲＯＭ１０３はＣＰＵ１０４に指令してＦＩＦＯデータをＲＡＭ１０５に読み出したり、あるいは、その逆を行い、更に、ＲＭＡ１０５に読み出したデータを必要に応じて、ＦＤＣ１０６に指令を出してＦＤＤ１０７に挿入されたメディアに書き込んだり、あるいは、その逆を行うように構成し、且つヘッド上に位置するディスクのセクタ番号をリード／ライト処理に先行して読取り、そのセクタ番号の次のセクタからデータのリード／ライトを行うようにしたものである。
【００１７】
図２は、本装置が１トラックのリードライト処理を行う場合のフローチャートを示すもので、まずＵＳＢＦＤＤ装置のファームウェアは、ＳＥＥＫコマンドをＦＤＣに対して発行し、ディスク上のリード／ライトを行う目的トラックへヘッドを移動させる（ステップ１）。
【００１８】
次に、ＲＥＡＤＩＤコマンドを発行し、ファームウェアはヘッドが現在位置しているディスク上のセクタ番号（Ｎ）をリードする（ステップ２）。
【００１９】
続いて、ディスクのリード処理（ステップ３）の場合は、ステップ２で読取ったセクタ番号の次（Ｎ＋１）から最終セクタ番号までのデータを読取るために、ファームウェアはＦＤＣに対してＲＥＡＤ　ＤＡＴＡコマンドを発行する（ステップ４）。
【００２０】
ヘッドが既に目的セクタ番号上にあるので、回転待ちせずに、ＦＤＣはセクタ番号（Ｎ＋１）から最終セクタ番号までのデータをディスクからＵＳＢＦＤＤ装置のＲＡＭ領域へ転送する（ステップ５）。
【００２１】
さらに、セクタ番号〈１）からセクタ番号（Ｎ）までのデータを読取るためにファームウェアはＦＤＣに対してＲＥＡＤ　ＤＡＴＡコマンドを発行する（ステップ６）。
【００２２】
ＦＤＣはセクタ番号（１）からセクタ番号（Ｎ）までのデータをディスクからＵＳＢＦＤＤ装置のＲＡＭ領域へ転送する（ステップ７）。
【００２３】
このようにして、１トラックのリード処理が完丁する。
【００２４】
また、ディスクのライト処理の場合は、ステップ２で読取ったセクタ番号の次（Ｎ十１）から最終セクタ番号までのデータを書込むために、ファームウェアはＦＤＣに対してＷＲＩＴＥ　ＤＡＴＡコマンドを発行する（ステップ８）。
【００２５】
ヘッドが既に目的セクタ番号上にあるので、回転待ちせずに、ＦＤＣはセクタ番号（Ｎ＋１）から最終セクタ番号までのデータをＵＳＢＦＤＤ装置のＲＡＭ領域からディスクへ転送する（ステップ９）。
【００２６】
さらに、セクタ番号（１）からセクタ番号（Ｎ）までのデータを書込むためにファームウェアはＦＤＣに対してＷＲＩＴＥ　ＤＡＴＡコマンドを発行する（ステップ１０）。
【００２７】
ＦＤＣはセクタ番号（１）からセクタ番号（Ｎ）までのデータをＵＳＢＦＤＤ装置のＲＡＭ領域からディスクヘ転送する（ステップ７）。
【００２８】
このようにして、１トラックのリード処理が完了する。
【００２９】
【発明の効果】
以上述べたように、本発明によれば、ヘッド上に位置するディスクのセクタ番号をリード／ライト処理に先行して読取り、そのセクタ番号の次のセクタ番号からデータのリード／ライトを行うようにしたので、ディスクの回転待ちがなくなり、ディスクのリード／ライト処理が高速化するという効果がある。
【図面の簡単な説明】
【図１】本発明が適用されるＵＳＢＦＤＤ装置の構成を示すブロック図。
【図２】１トラックのリード／ライト処理のフローチャート。
【図３】従来のＵＳＢＦＤＤ装置を使って、１トラックのリード／ライトを行った場合の処理フローチャート。
【符号の説明】
１００　　　　　ＵＳＢＦＤＤ装置
１０１　　　　　ＵＳＢコントローラ
１０２　　　　　ＵＳＢパス
１０３　　　　　ファームウェアＲＯＭ
１０４　　　　　ＣＰＵ
１０５　　　　　ＲＡＭ
１０６　　　　　ＦＤＣ
１０７　　　　　ＦＤＤ
１０８　　　　　ＦＩＦＯ
【図１】
2004103103.tif 000003
【図２】
2004103103.tif 000004
【図３】
2004103103.tif 000005