JPH11110139A - データ読み取り方法及びデータ読み取り装置 - Google Patents
データ読み取り方法及びデータ読み取り装置Info
- Publication number
- JPH11110139A JPH11110139A JP9262368A JP26236897A JPH11110139A JP H11110139 A JPH11110139 A JP H11110139A JP 9262368 A JP9262368 A JP 9262368A JP 26236897 A JP26236897 A JP 26236897A JP H11110139 A JPH11110139 A JP H11110139A
- Authority
- JP
- Japan
- Prior art keywords
- reading
- data
- backward
- read
- lba
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】
【課題】 逆方向順次読み出しの性能を向上させること
ができ、より低価格で信頼性の高いデータ読み取り方法
及びデータ読み取り装置を提供する。 【解決手段】 ディスクドライブ装置10は、磁気ディ
スク11と、HDC17、RAM18、HDC17に対
する制御を含む、HDD全体の動作を制御するMPU1
9、ROM20及び外部のホスト装置30に接続するた
めのI/F21からなる制御部22とを備え、制御部2
2は、逆方向読み出しを検出する逆方向読み出し検出ス
テップと、第1のLBAから第1の長さのブロックを読
み出すコマンドを受け取るステップと、逆方向読み出し
が検出されたとき、第1のLBAから第1の長さのブロ
ックだけを読み出すステップと、第1のLBAより小さ
い第2のLBAから第2のブロックだけを先読みするス
テップとを実行し、逆方向読み出しが検出されたとき、
ディスクからのデータの読み出しが終了した時点で、直
ちに次のコマンドで要求されると予想されるデータの読
み出しを開始する。
ができ、より低価格で信頼性の高いデータ読み取り方法
及びデータ読み取り装置を提供する。 【解決手段】 ディスクドライブ装置10は、磁気ディ
スク11と、HDC17、RAM18、HDC17に対
する制御を含む、HDD全体の動作を制御するMPU1
9、ROM20及び外部のホスト装置30に接続するた
めのI/F21からなる制御部22とを備え、制御部2
2は、逆方向読み出しを検出する逆方向読み出し検出ス
テップと、第1のLBAから第1の長さのブロックを読
み出すコマンドを受け取るステップと、逆方向読み出し
が検出されたとき、第1のLBAから第1の長さのブロ
ックだけを読み出すステップと、第1のLBAより小さ
い第2のLBAから第2のブロックだけを先読みするス
テップとを実行し、逆方向読み出しが検出されたとき、
ディスクからのデータの読み出しが終了した時点で、直
ちに次のコマンドで要求されると予想されるデータの読
み出しを開始する。
Description
【0001】
【発明の属する技術分野】本発明は、ハードディスクド
ライブ(HDD)等に用いられるデータ読み取り方法及
びデータ読み取り装置に係り、詳細には、キャッシング
機能を持つセクタバッファを備えたデータ読み取り方法
及びデータ読み取り装置に関する。
ライブ(HDD)等に用いられるデータ読み取り方法及
びデータ読み取り装置に係り、詳細には、キャッシング
機能を持つセクタバッファを備えたデータ読み取り方法
及びデータ読み取り装置に関する。
【0002】
【従来の技術】ディスクドライブ装置には、セクタバッ
ファと呼ばれるメモリが搭載されており、順次読み出し
を高速化するために、一つの読み出しコマンドで要求さ
れた領域の読み出しが終了しても、それに続く領域の読
み出しを続けておく(Look Aheadと呼ばれている)。す
ると順次読み出しの場合には、次の読み出しコマンドが
来たときには、既に上記メモリ上にデータが存在するこ
とになり、高速化が図られる。なお、使用可能なセクタ
に通し番号を振ったものを論理ブロックアドレス(LB
A:Logical Block Address )と呼ぶ。
ファと呼ばれるメモリが搭載されており、順次読み出し
を高速化するために、一つの読み出しコマンドで要求さ
れた領域の読み出しが終了しても、それに続く領域の読
み出しを続けておく(Look Aheadと呼ばれている)。す
ると順次読み出しの場合には、次の読み出しコマンドが
来たときには、既に上記メモリ上にデータが存在するこ
とになり、高速化が図られる。なお、使用可能なセクタ
に通し番号を振ったものを論理ブロックアドレス(LB
A:Logical Block Address )と呼ぶ。
【0003】図7は先読み(Look Ahead)動作を説明す
るための図であり、ディスクからの読み出しとインター
フェース上の動きを示す。図中の番号は番地、矢印は動
作の順序を示す。
るための図であり、ディスクからの読み出しとインター
フェース上の動きを示す。図中の番号は番地、矢印は動
作の順序を示す。
【0004】現行の方法は、順方向の場合であり、指定
されたディスク上のデータを読み出すが、その後バッフ
ァメモリに余裕がある限りにおいて、ディスクからの読
み出しをし続ける。そのようにすることによって、改め
て読み出し動作をするまではバッファメモリにデータが
あるのでそのデータをそのまま転送すればよい。これが
先読み(Look Ahead)動作である。図7の例では、まず
コマンド(Read 10111Length 3)が発行されると、ディ
スクから読み出しコマンドで要求された領域(10111〜1
0113)の読み出しが行われてインターフェース上に転送
されるが、読み出しコマンドで要求された領域の読み出
しが終了しても、それに続く領域(10114〜)の読み出
しが続けられる。
されたディスク上のデータを読み出すが、その後バッフ
ァメモリに余裕がある限りにおいて、ディスクからの読
み出しをし続ける。そのようにすることによって、改め
て読み出し動作をするまではバッファメモリにデータが
あるのでそのデータをそのまま転送すればよい。これが
先読み(Look Ahead)動作である。図7の例では、まず
コマンド(Read 10111Length 3)が発行されると、ディ
スクから読み出しコマンドで要求された領域(10111〜1
0113)の読み出しが行われてインターフェース上に転送
されるが、読み出しコマンドで要求された領域の読み出
しが終了しても、それに続く領域(10114〜)の読み出
しが続けられる。
【0005】このように、リードキャッシュプロセスで
は、ホスト装置から読み出しが指示されたデータあるい
は読み出されるであろうと予測されるデータを磁気ディ
スクから先読み(Look Ahead)してメモリに保持してお
く。
は、ホスト装置から読み出しが指示されたデータあるい
は読み出されるであろうと予測されるデータを磁気ディ
スクから先読み(Look Ahead)してメモリに保持してお
く。
【0006】
【発明が解決しようとする課題】しかしながらこのよう
な従来のディスクドライブ装置にあっては、順次読み出
しにあってはlook Aheadによって高速化を図ることがで
きるものの、逆方向順次読み出しに対しては何等考慮が
なされていなかったため、逆方向順次読み出しが行われ
た場合、コマンドが来てからディスク上のデータを読み
出すという動作を続けることになり、順次読み出しに比
べて時間のかかる処理となってしまうという問題点があ
った。
な従来のディスクドライブ装置にあっては、順次読み出
しにあってはlook Aheadによって高速化を図ることがで
きるものの、逆方向順次読み出しに対しては何等考慮が
なされていなかったため、逆方向順次読み出しが行われ
た場合、コマンドが来てからディスク上のデータを読み
出すという動作を続けることになり、順次読み出しに比
べて時間のかかる処理となってしまうという問題点があ
った。
【0007】すなわち、最近になってHDDが映像信号
の記録及び編集に使われるようになり、映像信号の逆方
向再生の場合にHDDに対して逆方向順次読み出しが行
われる。このとき、順方向読み出しに比べて逆方向読み
出しの性能が悪いので、逆方向順次読み出しの性能を元
にシステムの設計を行う必要がある。逆方向順次読み出
しと順方向読み出しの性能の差が大きい場合には、逆方
向順次読み出しの性能に合わせた設計はHDDの性能を
低く見積もった設計となり、コスト高となってしまう。
また、コストを抑えようとすると、逆方向読み出しの時
にマージンが少なくなり、システムの動作の安定性が保
証できなくなる。
の記録及び編集に使われるようになり、映像信号の逆方
向再生の場合にHDDに対して逆方向順次読み出しが行
われる。このとき、順方向読み出しに比べて逆方向読み
出しの性能が悪いので、逆方向順次読み出しの性能を元
にシステムの設計を行う必要がある。逆方向順次読み出
しと順方向読み出しの性能の差が大きい場合には、逆方
向順次読み出しの性能に合わせた設計はHDDの性能を
低く見積もった設計となり、コスト高となってしまう。
また、コストを抑えようとすると、逆方向読み出しの時
にマージンが少なくなり、システムの動作の安定性が保
証できなくなる。
【0008】本発明は、逆方向順次読み出しの性能を向
上させることができ、より低価格で信頼性の高いデータ
読み取り方法及びデータ読み取り装置を提供することを
目的とする。
上させることができ、より低価格で信頼性の高いデータ
読み取り方法及びデータ読み取り装置を提供することを
目的とする。
【0009】
【課題を解決するための手段】本発明に係るデータ読み
取り方法は、記憶媒体からデータを読み取るためのデー
タ読み取り方法であって、逆方向読み出しを検出する逆
方向読み出し検出ステップと、記憶媒体からのデータの
読み出しが終了した時点で、現アドレスより前のアドレ
スのデータの読み出しを開始する制御ステップとを有す
ることを特徴とする。
取り方法は、記憶媒体からデータを読み取るためのデー
タ読み取り方法であって、逆方向読み出しを検出する逆
方向読み出し検出ステップと、記憶媒体からのデータの
読み出しが終了した時点で、現アドレスより前のアドレ
スのデータの読み出しを開始する制御ステップとを有す
ることを特徴とする。
【0010】本発明に係るデータ読み取り方法は、記憶
媒体からデータを読み取るためのデータ読み取り方法で
あって、逆方向読み出しを検出する逆方向読み出し検出
ステップと、第1のLBAから第1の長さのブロックを
読み出すコマンドを受け取るステップと、第1のLBA
から第1の長さのブロックを読み出すステップと、第1
のLBAより小さい第2のLBAから第2の長さのブロ
ックを先読みするステップとを有することを特徴とす
る。
媒体からデータを読み取るためのデータ読み取り方法で
あって、逆方向読み出しを検出する逆方向読み出し検出
ステップと、第1のLBAから第1の長さのブロックを
読み出すコマンドを受け取るステップと、第1のLBA
から第1の長さのブロックを読み出すステップと、第1
のLBAより小さい第2のLBAから第2の長さのブロ
ックを先読みするステップとを有することを特徴とす
る。
【0011】上記逆方向読み出し検出ステップは、逆方
向読み出しとなるバックワードシーケンシャルLBAを
コマンド列毎にチェックし、該バックワードシーケンシ
ャルLBAの一致が所定回数続いたときは逆方向読み出
しと判定するものであってもよい。
向読み出しとなるバックワードシーケンシャルLBAを
コマンド列毎にチェックし、該バックワードシーケンシ
ャルLBAの一致が所定回数続いたときは逆方向読み出
しと判定するものであってもよい。
【0012】上記逆方向読み出し検出後のステップにお
いて、1コマンドの平均の読み出しの長さをセグメント
サイズと比較し、バッファのセグメントサイズに応答す
る所定の値より読み出し長さが小さいとき、セグメント
サイズ分戻って読み出し開始するようにしてもよい。
いて、1コマンドの平均の読み出しの長さをセグメント
サイズと比較し、バッファのセグメントサイズに応答す
る所定の値より読み出し長さが小さいとき、セグメント
サイズ分戻って読み出し開始するようにしてもよい。
【0013】また、上記逆方向読み出し検出後のステッ
プにおいて、データの長さがバッファのセグメントサイ
ズに応答する所定の値であった場合は第2のLBAから
読み出しを開始するようにしてもよく、また、上記逆方
向読み出し検出後のステップにおいて、1コマンドの平
均の読み出しの長さLをセグメントサイズと比較し、読
み出し長さがバッファのセグメントサイズに応答する所
定の値より大きいとき、第2のLBAに戻って読み出し
開始するようにしてもよい。
プにおいて、データの長さがバッファのセグメントサイ
ズに応答する所定の値であった場合は第2のLBAから
読み出しを開始するようにしてもよく、また、上記逆方
向読み出し検出後のステップにおいて、1コマンドの平
均の読み出しの長さLをセグメントサイズと比較し、読
み出し長さがバッファのセグメントサイズに応答する所
定の値より大きいとき、第2のLBAに戻って読み出し
開始するようにしてもよい。
【0014】本発明に係るデータ読み取り装置は、記憶
媒体からデータを読み取るためのデータ読み取り装置で
あって、逆方向読み出しを検出する逆方向読み出し検出
手段と、逆方向読み出し検出手段により逆方向読み出し
が検出されたとき、記憶媒体からのデータの読み出しが
終了した時点で、現アドレスより前のアドレスのデータ
の読み出しを開始する制御手段とを備えたことを特徴と
する。
媒体からデータを読み取るためのデータ読み取り装置で
あって、逆方向読み出しを検出する逆方向読み出し検出
手段と、逆方向読み出し検出手段により逆方向読み出し
が検出されたとき、記憶媒体からのデータの読み出しが
終了した時点で、現アドレスより前のアドレスのデータ
の読み出しを開始する制御手段とを備えたことを特徴と
する。
【0015】本発明に係るデータ読み取り装置は、記憶
媒体からデータを読み取るためのデータ読み取り装置で
あって、逆方向読み出しを検出する逆方向読み出し検出
手段と、第1のLBAから第1の長さのブロックを読み
出すコマンドを受け取る手段と、検出手段により逆方向
読み出しが検出されたとき、第1のLBAから第1の長
さのブロックを読み出す手段と、第1のLBAより小さ
い第2のLBAから第2の長さのブロックを先読みする
手段とを備えたことを特徴とする。
媒体からデータを読み取るためのデータ読み取り装置で
あって、逆方向読み出しを検出する逆方向読み出し検出
手段と、第1のLBAから第1の長さのブロックを読み
出すコマンドを受け取る手段と、検出手段により逆方向
読み出しが検出されたとき、第1のLBAから第1の長
さのブロックを読み出す手段と、第1のLBAより小さ
い第2のLBAから第2の長さのブロックを先読みする
手段とを備えたことを特徴とする。
【0016】
【発明の実施の形態】本発明に係るデータ読み取り方法
及びデータ読み取り装置は、小型HDDに適用すること
ができる。
及びデータ読み取り装置は、小型HDDに適用すること
ができる。
【0017】図1は本発明の実施形態に係るディスクド
ライブ装置の構成を示すブロック図である。
ライブ装置の構成を示すブロック図である。
【0018】図1において、磁気ディスク装置(HD
D)10は、データ記録媒体である磁気ディスク11
と、磁気ディスク11にデータの読み出し/書き込みを
行うための磁気ヘッド12と、磁気ヘッド12を有する
ヘッドスライダを磁気ディスク11表面上空及び退避位
置に移動させるアクチュエータ機構13と、アクチュエ
ータ機構13のアームを旋回駆動するボイスコイルモー
タ(VCM)14と、磁気ディスク11を回転駆動する
スピンドルモータを含む、VCM14を駆動するVCM
駆動部15と、検出信号の増幅回路、波形整形回路、ア
ナログ・ディジタル変換器(ADC)及びディジタル・
アナログ変換器(DAC)等をモジュール化し、データ
の読み書きを制御する読み書き回路部16と、磁気ディ
スクに対しデータの読み出し/書き込み等の動作を制御
するハードディスクコントローラ(Hard Disk Controll
er:HDC)17と、供給されたデータを一時的に記憶
するとともに、記録/再生データがキャッシュされるR
AM18と、HDC17に対する制御を含む、HDD全
体の動作を制御するMPU19と、MPU19を動作さ
せるためのマイクロプログラム、データを格納するRO
M20と、双方向線路を介して外部のホスト装置30に
接続するためのインターフェース(I/F)21とを備
えて構成される。
D)10は、データ記録媒体である磁気ディスク11
と、磁気ディスク11にデータの読み出し/書き込みを
行うための磁気ヘッド12と、磁気ヘッド12を有する
ヘッドスライダを磁気ディスク11表面上空及び退避位
置に移動させるアクチュエータ機構13と、アクチュエ
ータ機構13のアームを旋回駆動するボイスコイルモー
タ(VCM)14と、磁気ディスク11を回転駆動する
スピンドルモータを含む、VCM14を駆動するVCM
駆動部15と、検出信号の増幅回路、波形整形回路、ア
ナログ・ディジタル変換器(ADC)及びディジタル・
アナログ変換器(DAC)等をモジュール化し、データ
の読み書きを制御する読み書き回路部16と、磁気ディ
スクに対しデータの読み出し/書き込み等の動作を制御
するハードディスクコントローラ(Hard Disk Controll
er:HDC)17と、供給されたデータを一時的に記憶
するとともに、記録/再生データがキャッシュされるR
AM18と、HDC17に対する制御を含む、HDD全
体の動作を制御するMPU19と、MPU19を動作さ
せるためのマイクロプログラム、データを格納するRO
M20と、双方向線路を介して外部のホスト装置30に
接続するためのインターフェース(I/F)21とを備
えて構成される。
【0019】また、HDC17、RAM18及びMPU
19はデータバスにより互いに接続され、HDC17は
制御用バスによりMPU19に接続され、HDC17は
I/F21を介してHDD外部のホスト装置30に接続
される。
19はデータバスにより互いに接続され、HDC17は
制御用バスによりMPU19に接続され、HDC17は
I/F21を介してHDD外部のホスト装置30に接続
される。
【0020】磁気ディスク11は、データが記録される
データ領域とサーボデータが予め記録されているサーボ
領域とを含むトラックが同心円状に配置されているEmbe
ddedservo(Sector servo)方式、または磁気ディスク
の一面をサーボ専用に使い、他の磁気ディスク面にはデ
ータのみを記録するDedicated servo方式にも適用でき
る。
データ領域とサーボデータが予め記録されているサーボ
領域とを含むトラックが同心円状に配置されているEmbe
ddedservo(Sector servo)方式、または磁気ディスク
の一面をサーボ専用に使い、他の磁気ディスク面にはデ
ータのみを記録するDedicated servo方式にも適用でき
る。
【0021】上記HDC17、RAM18、MPU1
9、ROM20及びインターフェース21は、全体とし
てHDD全体の動作を制御するとともに、I/F21を
介して接続された外部の機器(ホスト装置30)に対す
るデータの入出力を制御する制御部22を構成する。
9、ROM20及びインターフェース21は、全体とし
てHDD全体の動作を制御するとともに、I/F21を
介して接続された外部の機器(ホスト装置30)に対す
るデータの入出力を制御する制御部22を構成する。
【0022】制御部22は、制御プログラムを実行する
MPU19、制御プログラム、不良セクタの位置を示す
ディフェクトマップ等のデータを保持するメモリ等を備
えている。
MPU19、制御プログラム、不良セクタの位置を示す
ディフェクトマップ等のデータを保持するメモリ等を備
えている。
【0023】メモリとしてはRAM18、ROM20を
備えており、制御プログラムは、ROM20若しくはR
AM18に格納されている。RAM18に格納されるプ
ログラムは、磁気ディスク11上の所定の領域に保存し
ておき、電源投入時(POR[Power On Reset:パワー
・オン・リセット]時)にRAM18に読み込んで実行
する。また、RAM18は、キャッシュメモリとしての
機能を有し、磁気ディスク上の記録単位(セクタ)の数
百個分以上のデータを保持することができる程度の記憶
容量、例えば128Kバイト(256ブロック)を持
つ。
備えており、制御プログラムは、ROM20若しくはR
AM18に格納されている。RAM18に格納されるプ
ログラムは、磁気ディスク11上の所定の領域に保存し
ておき、電源投入時(POR[Power On Reset:パワー
・オン・リセット]時)にRAM18に読み込んで実行
する。また、RAM18は、キャッシュメモリとしての
機能を有し、磁気ディスク上の記録単位(セクタ)の数
百個分以上のデータを保持することができる程度の記憶
容量、例えば128Kバイト(256ブロック)を持
つ。
【0024】この制御部22は、制御プログラム(マイ
クロプログラム)を実行することにより、ディスクドラ
イブ装置全体の動作を制御し、ホスト装置30からI/
F21を介して供給されるコマンド、データに基づいて
磁気ディスク11に対する読み出し/書き込みの制御等
を行う。
クロプログラム)を実行することにより、ディスクドラ
イブ装置全体の動作を制御し、ホスト装置30からI/
F21を介して供給されるコマンド、データに基づいて
磁気ディスク11に対する読み出し/書き込みの制御等
を行う。
【0025】また、制御部22のMPU19は、複数の
プロセスを並行して実行することができるようになって
おり、そのうちの1つのプロセスは、ホスト装置30と
の間のコマンド、データの入出力の制御であり、他の1
つはバッファ(RAM18)に保持されている書き込み
データを磁気ディスク11に書き込むライトプロセスで
あり、他の1つはホスト装置30から読み出しが指示さ
れたデータあるいは読み出されるであろうと予測される
データを磁気ディスク11から先読み(Look Ahead)し
てバッファに保持しておくリードキャッシュプロセスで
ある。他にもサーボ制御のための演算、エラー回復処理
等のプロセスを並行して実行する。
プロセスを並行して実行することができるようになって
おり、そのうちの1つのプロセスは、ホスト装置30と
の間のコマンド、データの入出力の制御であり、他の1
つはバッファ(RAM18)に保持されている書き込み
データを磁気ディスク11に書き込むライトプロセスで
あり、他の1つはホスト装置30から読み出しが指示さ
れたデータあるいは読み出されるであろうと予測される
データを磁気ディスク11から先読み(Look Ahead)し
てバッファに保持しておくリードキャッシュプロセスで
ある。他にもサーボ制御のための演算、エラー回復処理
等のプロセスを並行して実行する。
【0026】ホスト装置30に対する入出力制御プロセ
スでは、制御部22は、ホスト装置30からデータの書
き込みを要求するコマンド、書き込み先(磁気ディスク
11上のセクタ)を指示するアドレス(例えば、論理ブ
ロックアドレス:LBA等)及び書き込みデータが供給
されると、供給された書き込みデータをバッファに保持
する。また、ホスト装置30からデータの読み出しを要
求するコマンドと読み出すべきデータが格納されている
アドレス(LBA)が供給されると、当該読み出し要求
があったデータが磁気ディスク11から読み出されてバ
ッファに保持されていれば、それを読み出してホスト装
置30に供給し、バッファに保持されていなければ読み
書き回路部16に読み出し要求のあったデータの読み出
しを指示し、読み出されたデータをホスト装置30に供
給する。
スでは、制御部22は、ホスト装置30からデータの書
き込みを要求するコマンド、書き込み先(磁気ディスク
11上のセクタ)を指示するアドレス(例えば、論理ブ
ロックアドレス:LBA等)及び書き込みデータが供給
されると、供給された書き込みデータをバッファに保持
する。また、ホスト装置30からデータの読み出しを要
求するコマンドと読み出すべきデータが格納されている
アドレス(LBA)が供給されると、当該読み出し要求
があったデータが磁気ディスク11から読み出されてバ
ッファに保持されていれば、それを読み出してホスト装
置30に供給し、バッファに保持されていなければ読み
書き回路部16に読み出し要求のあったデータの読み出
しを指示し、読み出されたデータをホスト装置30に供
給する。
【0027】ライトプロセスでは、制御部22は、上述
のようにホスト装置30から供給されて、バッファに保
持されている書き込みデータを順次読み出し、読み書き
回路部16に供給して磁気ディスク11に対する書き込
みを指示する。
のようにホスト装置30から供給されて、バッファに保
持されている書き込みデータを順次読み出し、読み書き
回路部16に供給して磁気ディスク11に対する書き込
みを指示する。
【0028】また、リードキャッシュプロセスでは、制
御部22は、読み書き回路部16にホスト装置30から
読み出し要求があると予想されるデータの読み出しを指
示し、読み出されたデータをバッファに保持しておく。
御部22は、読み書き回路部16にホスト装置30から
読み出し要求があると予想されるデータの読み出しを指
示し、読み出されたデータをバッファに保持しておく。
【0029】ここで、制御部22では、上述のようなプ
ロセスに加えて、逆方向読み出しを検出する手段と、逆
方向読み出しが検出されたとき、磁気ディスク11から
のデータの読み出しが終了した時点で、直ちに次のコマ
ンドで要求されると予想されるデータの読み出しを開始
する制御を行うようになっている。
ロセスに加えて、逆方向読み出しを検出する手段と、逆
方向読み出しが検出されたとき、磁気ディスク11から
のデータの読み出しが終了した時点で、直ちに次のコマ
ンドで要求されると予想されるデータの読み出しを開始
する制御を行うようになっている。
【0030】以下、上述のように構成されたディスクド
ライブ装置10の動作を説明するが、まず、本発明の基
本的な考え方について述べる。
ライブ装置10の動作を説明するが、まず、本発明の基
本的な考え方について述べる。
【0031】ハードディスクの読み出し動作は、ディス
クから読み出したデータを一旦ハードディスクドライブ
上のメモリに格納し、それをインターフェース経由で外
部に転送している。したがって、ディスクからのデータ
の読み出しが終了してから実際にデータが転送され、次
のコマンドを実行するまでには時間がある。
クから読み出したデータを一旦ハードディスクドライブ
上のメモリに格納し、それをインターフェース経由で外
部に転送している。したがって、ディスクからのデータ
の読み出しが終了してから実際にデータが転送され、次
のコマンドを実行するまでには時間がある。
【0032】そこで本発明では、逆方向読み出しが行わ
れていることは、コマンド列を見ることにより容易に検
出されるので、逆方向読み出しが行われていることが検
出された場合には、ディスクからのデータの読み出しが
終了した時点で直ちに次のコマンドで要求されると予想
されるデータの読み出しを開始する。これにより、次の
コマンドが来る前にデータの読み出しを開始してしまう
ことができる。
れていることは、コマンド列を見ることにより容易に検
出されるので、逆方向読み出しが行われていることが検
出された場合には、ディスクからのデータの読み出しが
終了した時点で直ちに次のコマンドで要求されると予想
されるデータの読み出しを開始する。これにより、次の
コマンドが来る前にデータの読み出しを開始してしまう
ことができる。
【0033】逆方向読み出しについて詳細に説明する。
【0034】図2は逆方向読み出しを説明するための図
であり、図2(a)はシーケンシャルアクセスを、図2
(b)はバックワードシーケンシャルアクセス(逆方向
順次読み出し)を、図2(c)はバックワードシーケン
シャルアクセスを行う場合の映像信号の例を示す。図
中、[]はアクセス順序を示す。
であり、図2(a)はシーケンシャルアクセスを、図2
(b)はバックワードシーケンシャルアクセス(逆方向
順次読み出し)を、図2(c)はバックワードシーケン
シャルアクセスを行う場合の映像信号の例を示す。図
中、[]はアクセス順序を示す。
【0035】該当アドレスから所定セクタ単位(例え
ば、LBA10000番地から10セクタ単位)でデータを
読み出す場合、シーケンシャルアクセス(順方向読み出
し)では図2(a)に示すようになる。これに対して、
バックワードシーケンシャルアクセスは、図2(b)に
示すように、まず[1]のデータ(LBA10020番地か
ら10セクタ)を読み出し、次いで同図破線に示すよう
に、LBA10010番地に戻って[2]のデータ(LBA1
0010番地から10セクタ)を読み出し、次いでLBA10
000番地に戻って[3]のデータ(LBA10000番地から
10セクタ)を読み出す。なお、上記では説明の便宜
上、読み出しセクタ数を10セクタとしたが、逆方向読
み出しの実際の適用例としては逆方向再生の場合におけ
る逆方向順次読み出しが挙げられる。例えば、図2
(c)に示すように、テレビの映像信号の1フレーム単
位で逆方向再生する場合がある。
ば、LBA10000番地から10セクタ単位)でデータを
読み出す場合、シーケンシャルアクセス(順方向読み出
し)では図2(a)に示すようになる。これに対して、
バックワードシーケンシャルアクセスは、図2(b)に
示すように、まず[1]のデータ(LBA10020番地か
ら10セクタ)を読み出し、次いで同図破線に示すよう
に、LBA10010番地に戻って[2]のデータ(LBA1
0010番地から10セクタ)を読み出し、次いでLBA10
000番地に戻って[3]のデータ(LBA10000番地から
10セクタ)を読み出す。なお、上記では説明の便宜
上、読み出しセクタ数を10セクタとしたが、逆方向読
み出しの実際の適用例としては逆方向再生の場合におけ
る逆方向順次読み出しが挙げられる。例えば、図2
(c)に示すように、テレビの映像信号の1フレーム単
位で逆方向再生する場合がある。
【0036】本発明は、HDDはコマンドを受け取った
時に、MPUがそのコマンドをチェックし、バックワー
ドシーケンシャルアクセスがあることを判断する。そし
て、一回のアクセスがどの位の長さのデータ読み出しで
あるかを求め、(1)データの長さがセグメントサイズに
収まり切らない程の大きさであった場合はその次に来そ
うなコマンドの先頭までいって読み出しを開始し、(2)
一回のアクセスによるデータの長さが短く、データがバ
ッファのセグメントサイズに収まる程の大きさであった
場合はセグメントサイズ分前に戻って読み出しを開始す
ることによって回転待ちを減らすことができる。
時に、MPUがそのコマンドをチェックし、バックワー
ドシーケンシャルアクセスがあることを判断する。そし
て、一回のアクセスがどの位の長さのデータ読み出しで
あるかを求め、(1)データの長さがセグメントサイズに
収まり切らない程の大きさであった場合はその次に来そ
うなコマンドの先頭までいって読み出しを開始し、(2)
一回のアクセスによるデータの長さが短く、データがバ
ッファのセグメントサイズに収まる程の大きさであった
場合はセグメントサイズ分前に戻って読み出しを開始す
ることによって回転待ちを減らすことができる。
【0037】逆方向読み出しの検出方法について説明す
る。
る。
【0038】図3は逆方向読み出しの検出方法を説明す
るための図であり、図3(a)はバックワードシーケン
シャルを説明するための比較例としてLook Ahead動作に
おけるシーケンシャルLBAの例を、図3(b)はバッ
クワードシーケンシャルLBAの例を示す。
るための図であり、図3(a)はバックワードシーケン
シャルを説明するための比較例としてLook Ahead動作に
おけるシーケンシャルLBAの例を、図3(b)はバッ
クワードシーケンシャルLBAの例を示す。
【0039】図3(a)において、メモリ内部にシーケ
ンシャルLBAを確保し、コマンド列が来た時点でシー
ケンシャルLBAに番地と長さ(ブロック)を保持す
る。例えば、コマンド列(LBA10000番地から10ブ
ロック)が来た時点でシーケンシャルLBAを10ブロ
ック先のLBA10010番地とする。その次に、コマンド
列(LBA10010番地から10ブロック)が来た時点で
シーケンシャルLBAを10ブロック先のLBA10020
番地とする。このようにして、コマンド列毎のシーケン
シャルLBAをチェックしてシーケンシャルLBAの一
致が所定回数続いたときはシーケンシャルと判定する。
このようなシーケンシャルの判定は、シーケンシャル読
み出しの高速化のために従来から行っているものであ
る。
ンシャルLBAを確保し、コマンド列が来た時点でシー
ケンシャルLBAに番地と長さ(ブロック)を保持す
る。例えば、コマンド列(LBA10000番地から10ブ
ロック)が来た時点でシーケンシャルLBAを10ブロ
ック先のLBA10010番地とする。その次に、コマンド
列(LBA10010番地から10ブロック)が来た時点で
シーケンシャルLBAを10ブロック先のLBA10020
番地とする。このようにして、コマンド列毎のシーケン
シャルLBAをチェックしてシーケンシャルLBAの一
致が所定回数続いたときはシーケンシャルと判定する。
このようなシーケンシャルの判定は、シーケンシャル読
み出しの高速化のために従来から行っているものであ
る。
【0040】バックワードシーケンシャルの場合にも、
上記シーケンシャルLBAと同じような方法により逆方
向読み出しを検出する。
上記シーケンシャルLBAと同じような方法により逆方
向読み出しを検出する。
【0041】図3(b)において、メモリ内部にバック
ワードシーケンシャルLBAを確保し、コマンド列が来
た時点でバックワードシーケンシャルLBAに番地と長
さ(ブロック)を保持する。例えば、コマンド列(LB
A10020番地から10ブロック)、コマンド列(LBA1
0010番地から10ブロック)、コマンド列(LBA1000
0番地から10ブロック)のコマンド列が来た場合を例
にとる。まず、10020番地から10ブロックが来た時点
でバックワードシーケンシャルLBAを、先頭番地の1
ブロック前のLBA10019番地とする。
ワードシーケンシャルLBAを確保し、コマンド列が来
た時点でバックワードシーケンシャルLBAに番地と長
さ(ブロック)を保持する。例えば、コマンド列(LB
A10020番地から10ブロック)、コマンド列(LBA1
0010番地から10ブロック)、コマンド列(LBA1000
0番地から10ブロック)のコマンド列が来た場合を例
にとる。まず、10020番地から10ブロックが来た時点
でバックワードシーケンシャルLBAを、先頭番地の1
ブロック前のLBA10019番地とする。
【0042】ここで、バックワードシーケンシャルLB
Aを、10ブロック前とせず先頭番地の1つ前としたの
は、必ずしも10ブロック(セクタ)とは限らないこと
と、少なくとも先頭番地の1つ前としておけばバックワ
ードシーケンシャルの繋がりが確実に判明するからであ
る。
Aを、10ブロック前とせず先頭番地の1つ前としたの
は、必ずしも10ブロック(セクタ)とは限らないこと
と、少なくとも先頭番地の1つ前としておけばバックワ
ードシーケンシャルの繋がりが確実に判明するからであ
る。
【0043】図3(b)では、コマンド列(LBA1002
0番地から10ブロック)が来た時点でバックワードシ
ーケンシャルLBAを先頭番地の1ブロック前のLBA
10019番地とする。その次に、コマンド列(LBA10010
番地から10ブロック)が来たとするとその時点でバッ
クワードシーケンシャルLBAを1ブロック前のLBA
10009番地とする。このようにして、バックワードシー
ケンシャルLBAの内容をチェックしてバックワードシ
ーケンシャルLBAの一致が所定回数続いたときはバッ
クワードシーケンシャルと判定する。
0番地から10ブロック)が来た時点でバックワードシ
ーケンシャルLBAを先頭番地の1ブロック前のLBA
10019番地とする。その次に、コマンド列(LBA10010
番地から10ブロック)が来たとするとその時点でバッ
クワードシーケンシャルLBAを1ブロック前のLBA
10009番地とする。このようにして、バックワードシー
ケンシャルLBAの内容をチェックしてバックワードシ
ーケンシャルLBAの一致が所定回数続いたときはバッ
クワードシーケンシャルと判定する。
【0044】以上のようにしてバックワードシーケンシ
ャルLBAが検出されると、検出したバックワードシー
ケンシャルLBAをもとに逆方向読み出しを高速化す
る。
ャルLBAが検出されると、検出したバックワードシー
ケンシャルLBAをもとに逆方向読み出しを高速化す
る。
【0045】以下、高速化の方法について基本的な考え
方を説明する。
方を説明する。
【0046】1コマンドの平均の読み出しの長さ(Read
length)をLとし、このLをセグメントサイズと比較
する。
length)をLとし、このLをセグメントサイズと比較
する。
【0047】Lをセグメントサイズと比較したときに、 (1)セグメントサイズの半分よりLが小さいとき((1
/2)Segment Size>Lのとき) セグメントサイズの半分より一回の読み出し長さLが小
さいときというのは、前に読んだ時に少なくとも2個先
読みができることを意味する。この時にはセグメントサ
イズ分戻って読み出し開始(Read Start)をかける。こ
の(1)の場合には、回転待ちをすることなく直ちに読み
出しができるため大幅に時間短縮ができる。この(1)の
場合は図4により後述する。一方、 (2)Lがセグメントサイズの半分以上のとき((1/
2)Segment Size≦Lのとき) Lがセグメントサイズの半分以上大きいときというの
は、1コマンド分しか先読み効かない状態になっている
場合である。この時には回転待ちは避けられない状態で
あるから次に来ると思われるコマンドの先頭LBAに戻
って読み出し開始(Read Start)をかける。この(2)の
場合には、コマンドが実際に来るまでの時間が短縮でき
る。
/2)Segment Size>Lのとき) セグメントサイズの半分より一回の読み出し長さLが小
さいときというのは、前に読んだ時に少なくとも2個先
読みができることを意味する。この時にはセグメントサ
イズ分戻って読み出し開始(Read Start)をかける。こ
の(1)の場合には、回転待ちをすることなく直ちに読み
出しができるため大幅に時間短縮ができる。この(1)の
場合は図4により後述する。一方、 (2)Lがセグメントサイズの半分以上のとき((1/
2)Segment Size≦Lのとき) Lがセグメントサイズの半分以上大きいときというの
は、1コマンド分しか先読み効かない状態になっている
場合である。この時には回転待ちは避けられない状態で
あるから次に来ると思われるコマンドの先頭LBAに戻
って読み出し開始(Read Start)をかける。この(2)の
場合には、コマンドが実際に来るまでの時間が短縮でき
る。
【0048】ここで、(1/2)Segment Sizeと平均の
長さLとを比較することで以下のような効果を得ること
ができる。すなわち、(1/2)Segment Size>Lのと
きは複数の先読みができる可能性があるが、(1/2)
Segment Size≦Lのときはコマンド2個分の先読みはで
きず、このように1個しか先読みができない場合に逆方
向に戻ってもセグメントバッファに入らないため意味が
ない。そこでこの場合には、先読みは行わずコマンドの
先頭LBAに戻って読み出し開始することによって少し
でも高速化を図る。
長さLとを比較することで以下のような効果を得ること
ができる。すなわち、(1/2)Segment Size>Lのと
きは複数の先読みができる可能性があるが、(1/2)
Segment Size≦Lのときはコマンド2個分の先読みはで
きず、このように1個しか先読みができない場合に逆方
向に戻ってもセグメントバッファに入らないため意味が
ない。そこでこの場合には、先読みは行わずコマンドの
先頭LBAに戻って読み出し開始することによって少し
でも高速化を図る。
【0049】図4は逆方向読み出し高速化動作を説明す
るための図であり、ディスクからの読み出しとインター
フェース上の動きを示す。なお、前記図7の先読み(Lo
ok Ahead)動作と対比してみるとより分かりやすい。
るための図であり、ディスクからの読み出しとインター
フェース上の動きを示す。なお、前記図7の先読み(Lo
ok Ahead)動作と対比してみるとより分かりやすい。
【0050】前記図7に示す現行の方法は、順方向の場
合であり、指定されたディスク上のデータを読み出す
が、その後バッファメモリに余裕がある限りにおいて、
ディスクからの読み出しをし続ける。
合であり、指定されたディスク上のデータを読み出す
が、その後バッファメモリに余裕がある限りにおいて、
ディスクからの読み出しをし続ける。
【0051】これに対して、逆方向読み出し高速化動作
では、図4に示すように、指定されたディスク上のデー
タを読み出すが、該当セクタの読み出しが終わった時点
でディスクからの読み出しを中断する。すなわち、ディ
スクからの読み出しはコマンドで要求されたセクタ分し
か読み出さない。そして、コマンド要求が終わると直ち
に、予測されている次に来るコマンドに基づいて逆方向
Look Ahead動作を開始する。次に予測されたコマンドが
来たときに、逆方向Look Aheadによりディスクから先読
み出しされたデータを直ちに転送する。
では、図4に示すように、指定されたディスク上のデー
タを読み出すが、該当セクタの読み出しが終わった時点
でディスクからの読み出しを中断する。すなわち、ディ
スクからの読み出しはコマンドで要求されたセクタ分し
か読み出さない。そして、コマンド要求が終わると直ち
に、予測されている次に来るコマンドに基づいて逆方向
Look Ahead動作を開始する。次に予測されたコマンドが
来たときに、逆方向Look Aheadによりディスクから先読
み出しされたデータを直ちに転送する。
【0052】図4の例では、まずコマンド(Read 10111
Length 3)が発行されると、ディスクから読み出しコ
マンドで要求されたセクタ(LBA10111〜10113)の読
み出しが行われてインターフェース上に転送され、該当
セクタの読み出しが終わった時点でディスクからの読み
出しを中断する。そして直ちに、逆方向Look Ahead動作
を開始し、予測されている次に来るコマンドで要求され
るセクタ(10108〜10110)の読み出しを行う。次に予測
されたコマンド(Read 10108 Length 3)が発行される
と、ディスクから逆方向先読み出しされているセクタ
(LBA10108〜10110)を直ちに転送する。また、該当
セクタ(LBA10108〜10110)の読み出しが終わった時
点でディスクからの読み出しを中断する。同様にして、
次の逆方向Look Ahead動作を開始し、予測されている次
に来るコマンドで要求されるセクタ(10105〜10107)の
読み出しを行い、次に予測されたコマンド(Read 10105
Length 3)が発行されると、ディスクから逆方向先読
み出しされているセクタ(LBA10105〜10107)を直ち
に転送する。
Length 3)が発行されると、ディスクから読み出しコ
マンドで要求されたセクタ(LBA10111〜10113)の読
み出しが行われてインターフェース上に転送され、該当
セクタの読み出しが終わった時点でディスクからの読み
出しを中断する。そして直ちに、逆方向Look Ahead動作
を開始し、予測されている次に来るコマンドで要求され
るセクタ(10108〜10110)の読み出しを行う。次に予測
されたコマンド(Read 10108 Length 3)が発行される
と、ディスクから逆方向先読み出しされているセクタ
(LBA10108〜10110)を直ちに転送する。また、該当
セクタ(LBA10108〜10110)の読み出しが終わった時
点でディスクからの読み出しを中断する。同様にして、
次の逆方向Look Ahead動作を開始し、予測されている次
に来るコマンドで要求されるセクタ(10105〜10107)の
読み出しを行い、次に予測されたコマンド(Read 10105
Length 3)が発行されると、ディスクから逆方向先読
み出しされているセクタ(LBA10105〜10107)を直ち
に転送する。
【0053】次に、上記基本的な考え方に基づいてディ
スクドライブ装置10の動作をフローチャートを参照し
て詳細に説明する。
スクドライブ装置10の動作をフローチャートを参照し
て詳細に説明する。
【0054】図5は逆方向読み出し検出するためのフロ
ーチャートであり、本フローはMPU19において実行
する。図中、STはフローの各ステップを示す。
ーチャートであり、本フローはMPU19において実行
する。図中、STはフローの各ステップを示す。
【0055】まず、ステップST1でコマンドを待ち、
コマンドが来るとステップST2でLBA/Lengthを得
る。次いで、シーケンシャル/バックワードシーケンシ
ャルチェックに入り、具体的にはステップST3でLB
AがシーケンシャルLBAか否かを判別し、LBAがシ
ーケンシャルLBAのときはステップST4で前記図7
に示すようなシーケンシャルアクセスを行ってステップ
ST7に進む。
コマンドが来るとステップST2でLBA/Lengthを得
る。次いで、シーケンシャル/バックワードシーケンシ
ャルチェックに入り、具体的にはステップST3でLB
AがシーケンシャルLBAか否かを判別し、LBAがシ
ーケンシャルLBAのときはステップST4で前記図7
に示すようなシーケンシャルアクセスを行ってステップ
ST7に進む。
【0056】LBAがシーケンシャルLBAでないとき
はステップST5でLBA+Length(コマンドのレング
ス)がバックワードシーケンシャルLBAか否かを判別
し、バックワードシーケンシャルLBAのときはステッ
プST6で図4に示すようなバックワードシーケンシャ
ルアクセスを行ってステップST7に進む。
はステップST5でLBA+Length(コマンドのレング
ス)がバックワードシーケンシャルLBAか否かを判別
し、バックワードシーケンシャルLBAのときはステッ
プST6で図4に示すようなバックワードシーケンシャ
ルアクセスを行ってステップST7に進む。
【0057】ステップST7では、先読みに用いるため
のデータ(セクタ)の平均の長さを計算する。具体的に
は、n個のレングスの和(ΣLength)をアップデート
し、nをインクリメント(n=n+1)する。ここで、
平均の長さ(ΣLength/n)は、シーケンシャル(又は
バックワードシーケンシャル)にコマンドがn個(例え
ば、5個)来たときに1コマンド平均の長さを求めるも
のである。この平均の長さを基にバックワードシーケン
シャルの戻り量が決定される。一方、上記ステップST
5でバックワードシーケンシャルLBAでないときはラ
ンダムアクセスと判断してステップST8で上記n及び
レングスの和(ΣLength)を0とする(n=0,ΣLeng
th=0)。
のデータ(セクタ)の平均の長さを計算する。具体的に
は、n個のレングスの和(ΣLength)をアップデート
し、nをインクリメント(n=n+1)する。ここで、
平均の長さ(ΣLength/n)は、シーケンシャル(又は
バックワードシーケンシャル)にコマンドがn個(例え
ば、5個)来たときに1コマンド平均の長さを求めるも
のである。この平均の長さを基にバックワードシーケン
シャルの戻り量が決定される。一方、上記ステップST
5でバックワードシーケンシャルLBAでないときはラ
ンダムアクセスと判断してステップST8で上記n及び
レングスの和(ΣLength)を0とする(n=0,ΣLeng
th=0)。
【0058】次いで、ステップST9でシーケンシャル
LBA/バックワードシーケンシャルLBAをそれぞれ
次のコマンドのLBAとする。具体的には、シーケンシ
ャルLBAの場合は、LBAに長さ(Length)と1セク
タを加えたものを次のコマンドのシーケンシャルLBA
とし(LBA+Length+1)、バックワードシーケンシ
ャルLBAの場合は、現LBA−1を次のコマンドのバ
ックワードシーケンシャルLBAとする。
LBA/バックワードシーケンシャルLBAをそれぞれ
次のコマンドのLBAとする。具体的には、シーケンシ
ャルLBAの場合は、LBAに長さ(Length)と1セク
タを加えたものを次のコマンドのシーケンシャルLBA
とし(LBA+Length+1)、バックワードシーケンシ
ャルLBAの場合は、現LBA−1を次のコマンドのバ
ックワードシーケンシャルLBAとする。
【0059】次いで、ステップST10で該当コマンド
を実行して本フローを終え、ステップST1に戻って次
のコマンド待ちをする。コマンド実行については図6に
より後述する。
を実行して本フローを終え、ステップST1に戻って次
のコマンド待ちをする。コマンド実行については図6に
より後述する。
【0060】図6はコマンド実行動作を示すフローチャ
ートであり、本フローはバックワードシーケンシャル動
作モードに入った場合の例である。
ートであり、本フローはバックワードシーケンシャル動
作モードに入った場合の例である。
【0061】まず、コマンド実行処理がスタートする
と、ステップST11でディスクからの読み出しを、コ
マンドのLBAにコマンドの長さ(Length)を加え、1
セクタを減じた箇所(LBA+Length−1)で終了させ
るように設定する。
と、ステップST11でディスクからの読み出しを、コ
マンドのLBAにコマンドの長さ(Length)を加え、1
セクタを減じた箇所(LBA+Length−1)で終了させ
るように設定する。
【0062】ステップST12で読み出しが終了する
と、ホストインターフェース側とHDD内部ではそれぞ
れ以下のような動作を行う。
と、ホストインターフェース側とHDD内部ではそれぞ
れ以下のような動作を行う。
【0063】すなわち、ホストインターフェース側で
は、ステップH1でステータスを送り、ステップH2で
次のコマンドを受け取る準備に入る。一方、HDD側で
は、ステップST13で(1/2)Segment Size>L
(Lは平均の長さ)か否かを判別する。これは、前述し
た高速化の方法(1)または(2)を実行するためのものであ
る。
は、ステップH1でステータスを送り、ステップH2で
次のコマンドを受け取る準備に入る。一方、HDD側で
は、ステップST13で(1/2)Segment Size>L
(Lは平均の長さ)か否かを判別する。これは、前述し
た高速化の方法(1)または(2)を実行するためのものであ
る。
【0064】(1/2)Segment Size>Lのときは、複
数のコマンドに対して先読みができるときであるから、
ステップST14で現行のコマンドのLBAからセグメ
ントバッファサイズ分戻って読み出し開始(Read Star
t)をかけ本フローを終了する。この場合は少なくとも
最低2個先読みができ、大幅に時間短縮ができる。
数のコマンドに対して先読みができるときであるから、
ステップST14で現行のコマンドのLBAからセグメ
ントバッファサイズ分戻って読み出し開始(Read Star
t)をかけ本フローを終了する。この場合は少なくとも
最低2個先読みができ、大幅に時間短縮ができる。
【0065】(1/2)Segment Size≦Lのときは、複
数のコマンドに対して先読みはできないので、現行のコ
マンドのLBAから平均の長さL戻ったところから読み
出し開始(Read Start)をかけ本フローを終了する。こ
の場合は、先読みによる大幅な高速化はできないもの
の、コマンドが実際に来るまでの時間が短縮できる。
数のコマンドに対して先読みはできないので、現行のコ
マンドのLBAから平均の長さL戻ったところから読み
出し開始(Read Start)をかけ本フローを終了する。こ
の場合は、先読みによる大幅な高速化はできないもの
の、コマンドが実際に来るまでの時間が短縮できる。
【0066】以上説明したように、本実施形態に係るデ
ィスクドライブ装置10は、磁気ディスク11と、HD
C17、記録/再生データがキャッシュされるRAM1
8、HDC17に対する制御を含む、HDD全体の動作
を制御するMPU19、マイクロプログラム等を格納す
るROM20及び外部のホスト装置30に接続するため
のI/F21からなる制御部22とを備え、制御部22
は、逆方向読み出しを検出する逆方向読み出し検出ステ
ップと、第1のLBAから第1の長さのブロックを読み
出すコマンドを受け取るステップと、逆方向読み出しが
検出されたとき、第1のLBAから第1の長さのブロッ
クだけを読み出すステップと、第1のLBAより小さい
第2のLBAから第2のブロックだけを先読みするステ
ップとを実行し、逆方向読み出しが検出されたとき、デ
ィスクからのデータの読み出しが終了した時点で、直ち
に次のコマンドで要求されると予想されるデータの読み
出しを開始するようにしたので、逆方向順次読み出しの
性能を向上させることができ、より低価格で信頼性の高
いデータ読み取りシステムが実現可能になる。
ィスクドライブ装置10は、磁気ディスク11と、HD
C17、記録/再生データがキャッシュされるRAM1
8、HDC17に対する制御を含む、HDD全体の動作
を制御するMPU19、マイクロプログラム等を格納す
るROM20及び外部のホスト装置30に接続するため
のI/F21からなる制御部22とを備え、制御部22
は、逆方向読み出しを検出する逆方向読み出し検出ステ
ップと、第1のLBAから第1の長さのブロックを読み
出すコマンドを受け取るステップと、逆方向読み出しが
検出されたとき、第1のLBAから第1の長さのブロッ
クだけを読み出すステップと、第1のLBAより小さい
第2のLBAから第2のブロックだけを先読みするステ
ップとを実行し、逆方向読み出しが検出されたとき、デ
ィスクからのデータの読み出しが終了した時点で、直ち
に次のコマンドで要求されると予想されるデータの読み
出しを開始するようにしたので、逆方向順次読み出しの
性能を向上させることができ、より低価格で信頼性の高
いデータ読み取りシステムが実現可能になる。
【0067】また、本実施形態では、(1/2)Segmen
t Sizeと平均の長さLとを比較し、複数のコマンドに対
して先読みができるか否かにより最適化した逆方向読み
出し制御を行っているので、パフォーマンスを低下させ
ることなく回転待ちを最小限に抑えることができる。
t Sizeと平均の長さLとを比較し、複数のコマンドに対
して先読みができるか否かにより最適化した逆方向読み
出し制御を行っているので、パフォーマンスを低下させ
ることなく回転待ちを最小限に抑えることができる。
【0068】さらに、本実施形態では、回路等を追加す
ることなく実施が可能であり、従来の順方向先読み制御
と併用できることは勿論である。したがって、システム
運用上の変更を招くことなく低コストで容易に実施がで
きるという優れた効果を有する。
ることなく実施が可能であり、従来の順方向先読み制御
と併用できることは勿論である。したがって、システム
運用上の変更を招くことなく低コストで容易に実施がで
きるという優れた効果を有する。
【0069】なお、本実施形態では、本発明をHDDに
適用した例を説明したが、これに限らず、キャッシュメ
モリを備えたディスクドライブ装置であればどのような
装置にでも本発明を適用できる。例えば、光磁気ディス
ク等HDD以外の外部記録装置に用いてもよく、上述の
実施形態と同様の効果を得ることができる。
適用した例を説明したが、これに限らず、キャッシュメ
モリを備えたディスクドライブ装置であればどのような
装置にでも本発明を適用できる。例えば、光磁気ディス
ク等HDD以外の外部記録装置に用いてもよく、上述の
実施形態と同様の効果を得ることができる。
【0070】また、本実施形態では、(1/2)Segmen
t Sizeと平均の長さLとを比較し、複数のコマンドに対
して先読みができるか否かを判別しているが、平均の長
さLとの比較例は一例であることは言うまでもない。例
えば、(1/2)Segment Sizeとしない、または平均の
長さLに所定の余裕度を持たすものであってもよい。ま
た、コマンドの平均の長さの算出方法はどのような方法
であってもよい。
t Sizeと平均の長さLとを比較し、複数のコマンドに対
して先読みができるか否かを判別しているが、平均の長
さLとの比較例は一例であることは言うまでもない。例
えば、(1/2)Segment Sizeとしない、または平均の
長さLに所定の余裕度を持たすものであってもよい。ま
た、コマンドの平均の長さの算出方法はどのような方法
であってもよい。
【0071】さらに、上記ディスクドライブ装置を構成
するHDC、メモリ、MPU等の種類、数などは上述し
た実施形態に限られないことは言うまでもない。
するHDC、メモリ、MPU等の種類、数などは上述し
た実施形態に限られないことは言うまでもない。
【0072】
【発明の効果】本発明に係るデータ読み取り方法及びデ
ータ読み取り装置では、逆方向読み出しを検出し、逆方
向読み出しが検出されたとき、記憶媒体からのデータの
読み出しが終了した時点で、現アドレスより前のアドレ
スのデータの読み出しを開始するようにしたので、逆方
向順次読み出しの性能を向上させることができ、より低
価格で信頼性の高いデータ読み取りが実現できる。
ータ読み取り装置では、逆方向読み出しを検出し、逆方
向読み出しが検出されたとき、記憶媒体からのデータの
読み出しが終了した時点で、現アドレスより前のアドレ
スのデータの読み出しを開始するようにしたので、逆方
向順次読み出しの性能を向上させることができ、より低
価格で信頼性の高いデータ読み取りが実現できる。
【図1】本発明を適用した実施形態に係るディスクドラ
イブ装置の構成を示すブロック図である。
イブ装置の構成を示すブロック図である。
【図2】上記ディスクドライブ装置の逆方向読み出しを
説明するための図である。
説明するための図である。
【図3】上記ディスクドライブ装置の逆方向読み出しの
検出方法を説明するための図である。
検出方法を説明するための図である。
【図4】上記ディスクドライブ装置の逆方向読み出し高
速化動作を説明するための図である。
速化動作を説明するための図である。
【図5】上記ディスクドライブ装置の逆方向読み出し検
出するためのフローチャートである。
出するためのフローチャートである。
【図6】上記ディスクドライブ装置のバックワードシー
ケンシャル動作モードに入った場合のコマンド実行動作
を示すフローチャートである。
ケンシャル動作モードに入った場合のコマンド実行動作
を示すフローチャートである。
【図7】従来のディスクドライブ装置の先読み(Look A
head)動作を説明するための図である。
head)動作を説明するための図である。
10 ディスクドライブ装置、11 磁気ディスク、1
6 読み書き回路部、17 ハードディスクコントロー
ラ(HDC)、18 RAM、19 MPU、20 R
OM、21 I/F、22 制御部、30 ホスト装置
6 読み書き回路部、17 ハードディスクコントロー
ラ(HDC)、18 RAM、19 MPU、20 R
OM、21 I/F、22 制御部、30 ホスト装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 斎藤 博史 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 平下 昇一 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 橋本 穣 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内
Claims (8)
- 【請求項1】 記憶媒体からデータを読み取るためのデ
ータ読み取り方法であって、 逆方向読み出しを検出する逆方向読み出し検出ステップ
と、 前記記憶媒体からのデータの読み出しが終了した時点
で、現アドレスより前のアドレスのデータの読み出しを
開始する制御ステップとを有することを特徴とするデー
タ読み取り方法。 - 【請求項2】 記憶媒体からデータを読み取るためのデ
ータ読み取り方法であって、 逆方向読み出しを検出する逆方向読み出し検出ステップ
と、 第1のLBA(Logical Block Address :論理ブロック
アドレス)から第1の長さのブロックを読み出すコマン
ドを受け取るステップと、 前記第1のLBAから第1の長さのブロックを読み出す
ステップと、 前記第1のLBAより小さい第2のLBAから第2の長
さのブロックを先読みするステップとを有することを特
徴とするデータ読み取り方法。 - 【請求項3】 前記逆方向読み出し検出ステップは、 逆方向読み出しとなるバックワードシーケンシャルLB
Aをコマンド列毎にチェックし、該バックワードシーケ
ンシャルLBAの一致が所定回数続いたときは逆方向読
み出しと判定することを特徴とする請求項1又は2の何
れかに記載のデータ読み取り方法。 - 【請求項4】 逆方向読み出し検出後のステップにおい
て、 1コマンドの平均の読み出しの長さをセグメントサイズ
と比較し、 バッファのセグメントサイズに応答する所定の値より読
み出し長さが小さいとき、セグメントサイズ分戻って読
み出し開始することを特徴とする請求項1又は2の何れ
かに記載のデータ読み取り方法。 - 【請求項5】 逆方向読み出し検出後のステップにおい
て、 データの長さがバッファのセグメントサイズに応答する
所定の値であった場合は第2のLBAから読み出しを開
始することを特徴とする請求項2に記載のデータ読み取
り方法。 - 【請求項6】 逆方向読み出し検出後のステップにおい
て、 1コマンドの平均の読み出しの長さLをセグメントサイ
ズと比較し、読み出し長さがバッファのセグメントサイ
ズに応答する所定の値より大きいとき、第2のLBAに
戻って読み出し開始することを特徴とする請求項2に記
載のデータ読み取り方法。 - 【請求項7】 記憶媒体からデータを読み取るためのデ
ータ読み取り装置であって、 逆方向読み出しを検出する逆方向読み出し検出手段と、 前記逆方向読み出し検出手段により逆方向読み出しが検
出されたとき、前記記憶媒体からのデータの読み出しが
終了した時点で、現アドレスより前のアドレスのデータ
の読み出しを開始する制御手段とを備えたことを特徴と
するデータ読み取り装置。 - 【請求項8】 記憶媒体からデータを読み取るためのデ
ータ読み取り装置であって、 逆方向読み出しを検出する逆方向読み出し検出手段と、 第1のLBAから第1の長さのブロックを読み出すコマ
ンドを受け取る手段と、 前記検出手段により逆方向読み出しが検出されたとき、
前記第1のLBAから第1の長さのブロックを読み出す
手段と、 前記第1のLBAより小さい第2のLBAから第2の長
さのブロックを先読みする手段とを備えたことを特徴と
するデータ読み取り装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9262368A JPH11110139A (ja) | 1997-09-26 | 1997-09-26 | データ読み取り方法及びデータ読み取り装置 |
US09/140,616 US6249854B1 (en) | 1997-09-26 | 1998-08-26 | Data reading method and apparatus for a disk drive storage device |
US09/827,603 US6516401B2 (en) | 1997-09-26 | 2001-04-06 | Data reading method and data reading apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9262368A JPH11110139A (ja) | 1997-09-26 | 1997-09-26 | データ読み取り方法及びデータ読み取り装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11110139A true JPH11110139A (ja) | 1999-04-23 |
Family
ID=17374781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9262368A Pending JPH11110139A (ja) | 1997-09-26 | 1997-09-26 | データ読み取り方法及びデータ読み取り装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US6249854B1 (ja) |
JP (1) | JPH11110139A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001073538A1 (fr) * | 2000-03-31 | 2001-10-04 | Matsushita Electric Industrial Co., Ltd. | Dispositif de memoire de disque, procede de lecture prealable de donnees, et support enregistre |
US6629200B1 (en) | 1999-10-15 | 2003-09-30 | International Business Machines Corporation | System and method for controlling cache memories, computer system, hard disk drive unit, and hard disk control unit |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11110139A (ja) * | 1997-09-26 | 1999-04-23 | Internatl Business Mach Corp <Ibm> | データ読み取り方法及びデータ読み取り装置 |
JP3255887B2 (ja) * | 1999-02-15 | 2002-02-12 | 松下電器産業株式会社 | 磁気ディスク装置およびそのディスクアクセス方法 |
US6532517B1 (en) * | 1999-04-13 | 2003-03-11 | Webtv Networks, Inc. | System and method for reducing disk chatter from disk-based data storage systems |
EP1058265A1 (en) * | 1999-05-29 | 2000-12-06 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for reverse playback of a digital data stream |
TW455870B (en) * | 1999-12-09 | 2001-09-21 | Acer Labs Inc | Memory mapping method |
EP1164492A1 (en) * | 1999-12-17 | 2001-12-19 | Sony Corporation | Device and method for processing information and recorded medium |
US7191430B2 (en) * | 2001-09-24 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Providing instruction execution hints to a processor using break instructions |
US7966450B2 (en) | 2005-09-01 | 2011-06-21 | Micron Technology, Inc. | Non-volatile hard disk drive cache system and method |
US7644224B2 (en) * | 2005-11-15 | 2010-01-05 | Sandisk Il Ltd. | Flash memory device and method |
US8996784B2 (en) * | 2006-03-09 | 2015-03-31 | Mediatek Inc. | Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system |
US7743202B2 (en) * | 2006-03-09 | 2010-06-22 | Mediatek Inc. | Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system |
JP2007304691A (ja) * | 2006-05-09 | 2007-11-22 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置及び回転型記憶装置の先読み制御方法 |
JP4391548B2 (ja) * | 2007-04-20 | 2009-12-24 | 株式会社メディアロジック | デバイスドライバ |
US9082458B1 (en) | 2014-03-10 | 2015-07-14 | Western Digital Technologies, Inc. | Data storage device balancing and maximizing quality metric when configuring arial density of each disk surface |
TWI694463B (zh) | 2019-04-18 | 2020-05-21 | 祥碩科技股份有限公司 | 資料儲存設備及其資料預測方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513139A (en) * | 1994-11-04 | 1996-04-30 | General Instruments Corp. | Random access memory with circuitry for concurrently and sequentially writing-in and reading-out data at different rates |
US5721815A (en) * | 1995-06-07 | 1998-02-24 | International Business Machines Corporation | Media-on-demand communication system and method employing direct access storage device |
US5790264A (en) * | 1995-06-23 | 1998-08-04 | Olympus Optical Co., Ltd. | Information reproduction apparatus |
JPH11110139A (ja) * | 1997-09-26 | 1999-04-23 | Internatl Business Mach Corp <Ibm> | データ読み取り方法及びデータ読み取り装置 |
-
1997
- 1997-09-26 JP JP9262368A patent/JPH11110139A/ja active Pending
-
1998
- 1998-08-26 US US09/140,616 patent/US6249854B1/en not_active Expired - Fee Related
-
2001
- 2001-04-06 US US09/827,603 patent/US6516401B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629200B1 (en) | 1999-10-15 | 2003-09-30 | International Business Machines Corporation | System and method for controlling cache memories, computer system, hard disk drive unit, and hard disk control unit |
DE10050171B4 (de) * | 1999-10-15 | 2006-01-05 | International Business Machines Corp. | Verfahren zur Steuerung von Cache-Speichern |
WO2001073538A1 (fr) * | 2000-03-31 | 2001-10-04 | Matsushita Electric Industrial Co., Ltd. | Dispositif de memoire de disque, procede de lecture prealable de donnees, et support enregistre |
US6965967B2 (en) | 2000-03-31 | 2005-11-15 | Matsushita Electric Industrial Co., Ltd. | Disk memory device, data pre-reading method, and recorded medium |
Also Published As
Publication number | Publication date |
---|---|
US6516401B2 (en) | 2003-02-04 |
US20020023194A1 (en) | 2002-02-21 |
US6249854B1 (en) | 2001-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11110139A (ja) | データ読み取り方法及びデータ読み取り装置 | |
JP4925230B2 (ja) | 記憶装置、記憶制御装置及び制御方法 | |
JP2009020986A (ja) | ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法 | |
US6523086B1 (en) | Method for improving performance of read cache of magnetic disk drive | |
US6523142B1 (en) | Apparatus and method of performing in a disk drive commands issued from a host system | |
US20040003172A1 (en) | Fast disc write mechanism in hard disc drives | |
JP2001022529A (ja) | ディスクドライブ装置及びその制御方法 | |
JPS5832417B2 (ja) | デ−タ転送制御方式 | |
JPH11317000A (ja) | ディスク記憶装置及び同装置における電力供給制御方法 | |
JP2006185162A (ja) | データ記憶装置及びその制御方法 | |
JPH076088A (ja) | 情報記憶装置 | |
US7370153B1 (en) | System and method of pre-fetching using an extended data structure including required data and a pre-fetch flag | |
JP2845658B2 (ja) | データ記録再生装置のアクセス制御装置 | |
JP3444056B2 (ja) | 記録再生装置及び記録再生方法 | |
JP3080758B2 (ja) | 磁気ディスク装置 | |
JP3428551B2 (ja) | パーシャルライト処理を行うディスク制御装置、ディスクサブシステム、ディスク制御装置の制御方法、及びプログラムを記録した記録媒体。 | |
EP0825592B1 (en) | Method for reading read-only memory | |
JPH10171713A (ja) | ディスク記憶装置及び同装置に適用するキャッシュ制御方法 | |
WO2001037074A1 (fr) | Gestion en antememoire des donnees | |
JPH10208255A (ja) | 光ディスク再生方法及び光ディスク装置 | |
JP2973474B2 (ja) | 光磁気ディスク装置 | |
JPH07334311A (ja) | 磁気ディスク装置及び磁気ディスク装置におけるバッファメモリへのデータ転送方法 | |
JPH0695808A (ja) | 磁気ディスク装置 | |
JP3735495B2 (ja) | ディスク制御装置 | |
JP2002288927A (ja) | ディスク再生装置のデータ再生処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010123 |