JP2004234762A - ディスク記憶装置及びバッファ制御方法 - Google Patents
ディスク記憶装置及びバッファ制御方法 Download PDFInfo
- Publication number
- JP2004234762A JP2004234762A JP2003022397A JP2003022397A JP2004234762A JP 2004234762 A JP2004234762 A JP 2004234762A JP 2003022397 A JP2003022397 A JP 2003022397A JP 2003022397 A JP2003022397 A JP 2003022397A JP 2004234762 A JP2004234762 A JP 2004234762A
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- buffer
- stream data
- stream
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【課題】ストリームデータのような関連性のあるデータの転送効率の向上を図ることできるディスク記憶装置を提供することにある。
【解決手段】ストリームデータをリード/ライトするディスクドライブ1が開示されている。本ドライブ1のディスクコントローラ22は、ディスク10から読出したデータを、ストリームID情報毎に設定したバッファRAM23のバッファ領域に格納する。ディスクコントローラ22は、当該バッファ領域からアクセス対象のデータを検索してホストシステム2に転送する。
【選択図】 図1
【解決手段】ストリームデータをリード/ライトするディスクドライブ1が開示されている。本ドライブ1のディスクコントローラ22は、ディスク10から読出したデータを、ストリームID情報毎に設定したバッファRAM23のバッファ領域に格納する。ディスクコントローラ22は、当該バッファ領域からアクセス対象のデータを検索してホストシステム2に転送する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、一般的にはディスクドライブに関し、特に、ストリームデータのアクセスに必要なバッファメモリの管理技術に関する。
【0002】
【従来の技術】
近年、ハードディスクドライブ(HDD)を代表とするディスク記憶装置(以下ディスクドライブと呼ぶ)は、従来のコンピュータデータだけでなく、オーディオ・ビデオ(AV)情報などのストリームデータを記録するデバイスとしても利用されている。
【0003】
通常、ディスクドライブでは、ホストシステム(パーソナルコンピュータや各種のディジタル機器)からリードコマンドが発行されると、ヘッドが記録媒体であるディスク上の目標トラックに移動(シーク)する。目標トラックは、リードアクセス対象であるデータが記録されている記録領域である。
【0004】
目標トラックまでヘッドの移動が完了すると、その完了した場所からディスク上のデータを読出すリード動作が開始される。リード動作は、リードコマンドで指定された終了セクタまで実行される。ディスクから読出されたデータは、ディスクコントローラ(HDC)により管理されているバッファメモリ(バッファRAM)に転送される。
【0005】
一般的に、ディスクドライブでは、ディスクから読出されたデータは、その順番でバッファRAMに転送される。ディスクに対するリード動作は、前述のように、移動完了(シーク完了)したディスク上の場所(セクタ)から開始されるため、リードアクセス対象であるデータのみが読出されるとは限らない。
【0006】
このため、バッファRAMには、当該アクセス対象であるデータと、それ以外のデータとが混在する状況となる。ディスクコントローラは、アクセス対象であるストリームデータに含まれる全てのデータを当該バッファRAMから検索し、ホストシステムに転送する。従って、ストリームデータのような大容量のデータアクセスでは、データ転送効率が低下する。
【0007】
このようなデータ転送効率の向上を図るための先行技術が提案されている(例えば、特許文献1を参照)。
【0008】
【特許文献1】
特開2001−195198号公報
この先行技術の内容は、ディスク上のセクタの種別を記憶するセクタ情報バッファと、ホストに送信すべきでないセクタのセクタ種別を含めた判定及び書き込みを行うセクタ判定手段と、記憶されたセクタ種別を参照するセクタ管理手段と、参照された結果に基づいてデータをホストに送信するデータ送信手段を備えるドライブ装置及びバッファ管理方法に関するものである。要するに、予めキャッシュしておいたアドレスに対するセクタ種別及びアドレスをセクタ情報バッファに記録することにより、バッファ管理や先読み制御を行なう方式である。
【0009】
【発明が解決しようとする課題】
ストリームデータのような関連性のあるデータをディスク上から読出した場合に、バッファRAMには、アクセス対象とは無関係なデータも格納される。このため、ホストシステムに転送するときに、バッファRAM全体からアクセス対象のデータを検索する必要があった。
【0010】
前記の先行技術のような方法でデータ転送効率の向上を図ることも考えられるが、先行技術の方法では、種別が多い場合や管理するアドレスが多くなってくると、バッファメモリの容量を超えてしまうことがある。また、電源がオフになった後には、セクタ情報バッファの内容が消失してしまうという問題もある。従って、先行技術のような方法を単に適用しても、ストリームデータのような関連性のあるデータの転送効率の向上を図ることはできない。
【0011】
そこで、本発明の目的は、ストリームデータのような関連性のあるデータの転送効率の向上を図ることできるディスク記憶装置を提供することにある。
【0012】
【課題を解決するための手段】
本発明の観点は、ストリームデータのような関連性のあるデータを記録するときに識別情報を記録し、データ再生時に当該識別情報を参照することにより、同一識別情報のデータを、バッファRAMの同一バッファ領域に格納する方式である。
【0013】
本発明の観点に従ったディスク記憶装置は、ディスク記録媒体に対して、データを記録又は再生する記録再生手段と、前記ディスク記録媒体から再生したデータを格納するバッファメモリ手段と、前記ディスク記録媒体上に関連性のあるデータを記録するときに、当該関連性のあるデータを識別する識別情報を記録し、当該関連性のあるデータの再生時に同一識別情報に対応するデータを前記バッファメモリの同一バッファ領域に格納する制御手段とを備えたものである。
【0014】
このような構成であれば、データ再生時に、ディスクから読出したデータの識別情報により、転送先のバッファ領域が選択されて、同一識別情報のデータは、同一バッファ領域に格納される。従って、バッファメモリからホストシステムにデータ転送を行なう場合に、バッファメモリ全体を検索することなく、識別情報に対応するアクセス対象のデータを短時間で転送できる。要するに、ディスクから読出したストリームデータのような関連性のあるデータを、同一バッファ領域に振り分けて格納する。これにより、結果として、例えば同一ストリームデータに属するデータを連続してバッファメモリ(RAM)へ格納することができるため、バッファメモリからアクセス対象のデータを容易に取り出すことが可能となる。
【0015】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
【0016】
(ディスクドライブの構成)
図1は、本実施形態に関係するディスクドライブの要部を示すブロック図である。ディスクドライブ1は、図1に示すように、記録媒体であるディスク10と、磁気ヘッド(以下単にヘッド)11と、ボイスコイルモータ(VCM)13を含むアクチュエータ12とを有する機構系と、後述する制御・信号処理系とから構成されている。
【0017】
ディスク10は、スピンドルモータ(SPM)14により回転される。VCM13及びSPM14は、VCM・SPMドライバ15により駆動される。アクチュエータ12は、ヘッド11を搭載し、VCM13の駆動力によりディスク10の径方向に移動される。
【0018】
制御・信号処理系は、ヘッドアンプIC16と、リード/ライト(R/W)チャネル17と、マイクロプロセッサ(CPU)18と、RAM19と、ROM20と、ゲートアレイ21と、ディスクコントローラ(HDC)22と、バッファRAM(バッファメモリ)23と、システムバス24とを有する。
【0019】
ヘッドアンプIC16は、ヘッド11から読出されたリード信号を増幅してR/Wチャネル17に伝送したり、また、R/Wチャネル17から出力されたライト信号を電流に変換してヘッド11に供給する。R/Wチャネル17は、記録又は再生のためにリード/ライトデータの信号処理を実行する。
【0020】
ディスクコントローラ22は、後述するように、バッファRAM23を管理し、ドライブ1とホストシステム2との間のデータ転送を制御する。ディスクコントローラ22は、ヘッド11によりディスク10から読出されたデータを、バッファRAM23を経由してホストシステム2に転送する。このデータは、R/Wチャネル17により再生される。また、コントローラ22は、ホストシステム2から転送されたリード/ライトコマンドや、ライトデータを受信する。ライトデータは、R/Wチャネル17により処理されてヘッドアンプIC16に伝送される。
【0021】
CPU18は、ドライブ1のメイン制御装置であり、ディスクコントローラ22が受信したリード/ライトコマンドに従って、各種のリード/ライト制御を実行する。リード/ライト制御には、ヘッド11をディスク10上の目標トラックまで移動して位置決めするサーボ制御や、バッファRAM23に格納されたデータの中からアクセス要求されたデータをホストシステム2に転送する制御などが含まれる。RAM19は、CPU18の動作に必要な各種データを格納するためのワークメモリである。ROM20は、主としてCPU18のプログラムを格納している。ゲートアレイ21は、R/Wチャネル17により再生されるサーボデータやタイミング信号を、CPU18やコントローラ22に供給するなどの処理を実行するロジック回路である。
【0022】
(ディスクドライブの動作)
本実施形態は、ホストシステム2からのリードコマンドに従って、ディスク10に記録されているストリームデータをアクセスし、ホストシステム2に転送するリードアクセス動作を想定する。以下、主として図7のフローチャートを参照し、かつ適宜図2から図6も合わせて参照して、本実施形態のリードアクセス動作を説明する。
【0023】
まず、ディスクドライブ1は、ディスクコントローラ22がホストシステム2からリードコマンドを受信すると、リードアクセス動作を開始する(ステップS1)。リードコマンドには、アクセス対象のストリームデータが記録されているディスク10上の場所(目標トラック)を示すアドレス情報が含まれている。
【0024】
CPU18は、ディスクコントローラ22出受信したリードコマンドに従って、ヘッド11をディスク10上の目標トラックにシーク(移動と位置決め)させるシーク動作を実行する(ステップS2)。具体的には、CPU18は、VCM・SPMドライバ15を介してVCM13を駆動制御して、アクチュエータ12を目標トラックまで移動させる。
【0025】
シーク動作が完了して、ヘッド11が目標トラックに位置決めされると、リード動作を開始する(ステップS3のYES,S4)。具体的には、図4(A)に示すように、ディスク10の目標トラックの範囲内で、ヘッド11は、シーク完了位置50から矢印51の方向にリード動作を開始する。
【0026】
ここで、アクセス対象のストリームデータ(便宜的に識別情報Aとする)は、図4(A)に示すように、連続するデータA1とデータA2を想定する。ヘッド11は、データA2、データC1、データB1、データA1を順次読出す。ストリームデータ(A)の先頭データをデータA1とした場合、先頭からではなく、シーク完了直後にあるデータA2から読出す。そして、再びヘッド11がシーク完了位置50に戻ってくるまでに、データA1を読出すことで、ストリームデータ(A)の読出し動作が完了する。このリード方法は、ディスク10の回転待ちを極力少なくする有効な方法である。
【0027】
ヘッド11から読出されたデータは、前述したように、R/Wチャネル17を介してディスクコントローラ22に転送される。ディスクコントローラ22は、バッファRAM23に、R/Wチャネル17により再生された再生データを順次格納する。ここで、ヘッド11により読出された順序で、データA2、データC1、データB1、データA1がバッファRAM23に格納されると、バッファRAM23では、各データが混在した状態で格納されてしまう。
【0028】
そこで、本実施形態では、図4(B)に示すように、コントローラ22は、バッファRAM23には、ストリームデータ(A)に属するデータA2,A1を同一のバッファ領域に格納する。同様に、ストリームデータ(B)に属するデータB1及びストリームデータ(C)に属するデータC1,C2をそれぞれ同一のバッファ領域に格納する。
【0029】
CPU18は、目標トラックの1周分のデータ、またはアクセス対象のデータが記録された終了セクタまでのデータがバッファRAM23に格納されると、リード動作が終了したと判定する(ステップS5のYESまたはS6のYES)。CPU18はコントローラ22を介して、バッファRAM23から、アクセス対象のストリームデータ(A)に属するデータA2,A1のみを検索して、ホストシステム2に転送させる。
【0030】
このような本実施形態のバッファRAM23の管理方法について説明する。
【0031】
図6は、ディスク10上のトラックに記録されているセクタフォーマットM0および、データの読出しプロセスR0を示す図である。ディスク10上の各トラックには、セクタフォーマットM0からなる複数のデータセクタが構成されている。
【0032】
本実施形態のセクタフォーマットM0は、先頭のサーボデータM1、SYNCパターンM2、ストリーム識別情報(ID情報、SM−ID)M3、ユーザデータM4、及びECCデータM5からなる。
【0033】
ヘッド11による読出しプロセス(R0)では、まずサーボデータM1が読出される(R1)。サーボデータM1は、トラックアドレスと位置情報(サーボバーストデータ)に分割される。サーボアドレスは、ゲートアレイ21により判定される。CPU18は、位置情報を使用して、目標トラックとヘッド11との位置誤差を演算することによりアクチュエータ12を制御し、ヘッド11を目標トラックに位置決めする(シーク完了位置50)。
【0034】
一方、本実施形態の読出しプロセスでは、コントローラ22は、SYNCパターンM2を検出すると(R2)、ストリームID情報(SM−ID)M3を取得する(R3)。コントローラ22は、当該ID情報に基づいて、ユーザデータM4が属するストリームデータ(関連性)を識別し、バッファRAM23の指定のバッファ領域に格納する(図2を参照)。
【0035】
コントローラ22は、ユーザデータM4の次に、ECCデータM5を読出し(R4)、バッファRAM23に格納されたユーザデータM4が正常であるか否かを判定する。コントローラ22は、異常があると判定した場合には、当該ECCデータM5を使用して正常なデータに訂正した後に、ホストシステム2に転送する。そして、次のセクタの読出し処理に移行する(R5)。
【0036】
図2は、ストリームID情報に基づいて、バッファRAM23のバッファ領域を配分する状態を示す。また、図3は、バッファ領域を管理するためのポインタと、ストリームID情報との対応付けを示すテーブル情報を示す。コントローラ22は、当該テーブル情報を作成して、バッファRAM23のバッファ領域を配分を管理する。
【0037】
図7のフローチャートの説明に戻ると、コントローラ22は、前述のように読出されたストリームID情報が、アクセス対象(ホストへの転送対象)のストリームデータ(A)に含まれるか否かを判定する(ステップS7)。判定結果がYESであれば、コントローラ22は、図3に示すテーブル情報からバッファ領域を指定するバッファポインタを求める(ステップS8)。具体的には、読出されたデータが、ストリームデータ(A)に属するデータA1またはA2であれば、ポインタPaを求める。コントローラ22は、図2に示すように、ポインタPaにより指定されるバッファ領域に、ストリームデータ(A)に属するデータA1またはA2を格納する(ステップS9)。同様にして、バッファポインタを更新して、ポインタPbにより指定されるバッファ領域に、ストリームデータ(B)に属するデータB1を格納する。
【0038】
以上要するに本実施形態によれば、ホストシステム2からのリードコマンドに従って、コントローラ22は、ディスク10から読出したデータのストリームID情報を取得する。そして、バッファRAM23において、当該ストリームID情報に対応するバッファ領域をポインタにより指定する。これにより、コントローラ22は、ディスク10から再生したデータの中で、リードコマンドにより指定されたストリームデータ(A)に属するデータA1,A2を、バッファRAM23の同一バッファ領域に格納する。
【0039】
コントローラ22は、CPU18からの指示に応じて、アクセス対象のデータA1,A2をバッファRAM23からホストシステム2に転送する。この場合、本実施形態では、アクセス対象のデータA1,A2は、同一バッファ領域に格納されている。従って、コントローラ22は、バッファRAM23の全領域を検索するような動作は不要であり、アクセス対象のデータA1,A2を短時間で検索して転送することができる。
【0040】
(変形例)
図5は、図4に示すリードアクセスの変形例を示す図である。
【0041】
本変形例は、ホストシステム2からストリームデータ(A)に含まれるデータA1をアクセスする場合を想定する。前述したように、ヘッド11のシーク完了位置50からリード動作が開始されると、ディスク10上からデータC1、データB1、データC2が読出されて、バッファRAM23に転送される。
【0042】
即ち、アクセス対象のデータA1が読出される前に、バッファRAM23には、データC1、データB1、データC2がそれぞれのバッファ領域に格納されている。そして、アクセス対象のデータA1が読出されて、バッファRAM23の指定のバッファ領域に格納されると、リード動作は終了となる。コントローラ22は、バッファRAM23から、ストリームデータ(A)に対応するバッファ領域のみを検索して、再生されたデータA1をホストシステム2に転送する。
【0043】
(識別情報の取り扱い方法)
次に、図8及び図9のフローチャートを参照して、本実施形態でのストリームID情報の取り扱い方法を説明する。
【0044】
ディスク10上に記録されるストリームID情報(SM−ID)は、記録されるストリームデータ毎に一意の値を有する必要がある。本方法は、ディスクドライブの電源が再投入された後でも、以前に記録されたストリームデータが判別できるように、ある程度の期間、ストリームID情報が再利用のされない仕組みを有するものである。
【0045】
まず、図8に示すように、ホストシステム2から発行されたライトストリームコマンドを受信すると、当該コマンドからストリームID情報(ST−IDとする)を取り出す(ステップS11)。このST−IDに基づいて、図6に示すように、ディスク10上に、ストリームID情報(SM−ID)をユーザデータと共に書き込む。
【0046】
当該ST−IDが以前に使用されている場合には、コントローラ22は、作成したテーブルから該当するSM−IDを検索して、ディスク10上にユーザデータ(ストリームデータの一部)と共に書き込む(ステップS12のYES,S18)。以前に使用されていない場合には、ドライブ1の電源がON直後であるか否かを判定する(ステップS12のNO,S13)。
【0047】
電源がON直後の最初のライト動作の場合には、電源ON前まで使用していたSM−IDを、便宜的にメディアID(PSM−ID)として設定する(ステップS13のYES,S14)。そして、電源遮断後の最後の「SM−ID+」をSM−IDとして設定する(ステップS16)。一方、層でない場合には、前回使用したSM−IDを、メディアID(PSM−ID)として設定する(ステップS13のNO,S15)。コントローラ22は、ST−IDとSM−IDとの組をテーブル情報として作成する(ステップS17)。
【0048】
次に、図9のフローチャートを参照して、SM−IDが付加されたストリームデータを読出す場合の取り扱いについて説明する。
【0049】
図9に示すように、ホストシステム2から発行されたリードストリームコマンドを受信すると、当該コマンドからストリームID情報(ST−ID)を取り出す(ステップS21)。当該ST−IDが以前に使用されている場合には、コントローラ22は、作成したテーブルから該当するSM−IDを検索する(ステップS22のYES,S27)。
【0050】
以前に使用されていない場合には、ドライブ1の電源がON直後であるか否かを判定する(ステップS22のNO,S23)。電源がON直後のリード動作の場合には、電源遮断後の最後のSM−IDを0に設定する(ステップS23のYES,S24)。それ以外の場合には、前回使用したSM−ID+1をSM−IDとして設定する(ステップS23のNO,S25)。コントローラ22は、ST−IDとSM−IDとの組をテーブル情報として作成する(ステップS26)。
【0051】
以上のように本実施形態によれば、ストリームデータを識別するID情報を利用することにより、バッファRAM23をストリームデータ毎のバッファ領域を振り分ける。従って、ディスクコントローラ22は、バッファRAM23全体を検索することなく、アクセス対象のストリームデータに対応するバッファ領域のみを検索できる。これにより、リードアクセス対象のストリームデータを、高速にホストシステムに転送することが可能となる。
【0052】
なお、バッファRAM23のバッファ領域の容量は、ストリームデータ量に従って調整することになる。また、本実施形態では、いわゆるAVデータなどのストリームデータを想定したが、これに限ることなく、識別情報(ID情報)により関連付けされたデータのリードアクセス動作にも適用できる。
【0053】
【発明の効果】
以上詳述したように本発明によれば、ストリームデータのような関連性のあるデータの転送効率の向上を図ることできるディスク記憶装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に関するディスクドライブの要部を示すブロック図。
【図2】本実施形態に関するバッファRAMの構成を説明するための図。
【図3】本実施形態に関するバッファRAMを管理するためのテーブル情報を示す図。
【図4】本実施形態に関するリードアクセス動作を説明するための図。
【図5】本実施形態の変形例に関する図。
【図6】本実施形態に関するディスク上のセクタフォーマットを示す図。
【図7】本実施形態に関するリードアクセス動作を説明するためのフローチャート。
【図8】本実施形態に関するストリームID情報の取り扱い方法を説明するためのフローチャート。
【図9】本実施形態に関するストリームID情報の取り扱い方法を説明するためのフローチャート。
【符号の説明】
1…ディスクドライブ、2…ホストシステム、10…ディスク、
11…磁気ヘッド(ヘッド)、12…アクチュエータ、13…ボイスコイルモータ(VCM)、14…スピンドルモータ(SPM)、15…VCM・SPMドライバ、16…ヘッドアンプIC、17…リード/ライト(R/W)チャネル、
18…マイクロプロセッサ(CPU)、22…ディスクコントローラ(HDC)、
23…バッファRAM。
【発明の属する技術分野】
本発明は、一般的にはディスクドライブに関し、特に、ストリームデータのアクセスに必要なバッファメモリの管理技術に関する。
【0002】
【従来の技術】
近年、ハードディスクドライブ(HDD)を代表とするディスク記憶装置(以下ディスクドライブと呼ぶ)は、従来のコンピュータデータだけでなく、オーディオ・ビデオ(AV)情報などのストリームデータを記録するデバイスとしても利用されている。
【0003】
通常、ディスクドライブでは、ホストシステム(パーソナルコンピュータや各種のディジタル機器)からリードコマンドが発行されると、ヘッドが記録媒体であるディスク上の目標トラックに移動(シーク)する。目標トラックは、リードアクセス対象であるデータが記録されている記録領域である。
【0004】
目標トラックまでヘッドの移動が完了すると、その完了した場所からディスク上のデータを読出すリード動作が開始される。リード動作は、リードコマンドで指定された終了セクタまで実行される。ディスクから読出されたデータは、ディスクコントローラ(HDC)により管理されているバッファメモリ(バッファRAM)に転送される。
【0005】
一般的に、ディスクドライブでは、ディスクから読出されたデータは、その順番でバッファRAMに転送される。ディスクに対するリード動作は、前述のように、移動完了(シーク完了)したディスク上の場所(セクタ)から開始されるため、リードアクセス対象であるデータのみが読出されるとは限らない。
【0006】
このため、バッファRAMには、当該アクセス対象であるデータと、それ以外のデータとが混在する状況となる。ディスクコントローラは、アクセス対象であるストリームデータに含まれる全てのデータを当該バッファRAMから検索し、ホストシステムに転送する。従って、ストリームデータのような大容量のデータアクセスでは、データ転送効率が低下する。
【0007】
このようなデータ転送効率の向上を図るための先行技術が提案されている(例えば、特許文献1を参照)。
【0008】
【特許文献1】
特開2001−195198号公報
この先行技術の内容は、ディスク上のセクタの種別を記憶するセクタ情報バッファと、ホストに送信すべきでないセクタのセクタ種別を含めた判定及び書き込みを行うセクタ判定手段と、記憶されたセクタ種別を参照するセクタ管理手段と、参照された結果に基づいてデータをホストに送信するデータ送信手段を備えるドライブ装置及びバッファ管理方法に関するものである。要するに、予めキャッシュしておいたアドレスに対するセクタ種別及びアドレスをセクタ情報バッファに記録することにより、バッファ管理や先読み制御を行なう方式である。
【0009】
【発明が解決しようとする課題】
ストリームデータのような関連性のあるデータをディスク上から読出した場合に、バッファRAMには、アクセス対象とは無関係なデータも格納される。このため、ホストシステムに転送するときに、バッファRAM全体からアクセス対象のデータを検索する必要があった。
【0010】
前記の先行技術のような方法でデータ転送効率の向上を図ることも考えられるが、先行技術の方法では、種別が多い場合や管理するアドレスが多くなってくると、バッファメモリの容量を超えてしまうことがある。また、電源がオフになった後には、セクタ情報バッファの内容が消失してしまうという問題もある。従って、先行技術のような方法を単に適用しても、ストリームデータのような関連性のあるデータの転送効率の向上を図ることはできない。
【0011】
そこで、本発明の目的は、ストリームデータのような関連性のあるデータの転送効率の向上を図ることできるディスク記憶装置を提供することにある。
【0012】
【課題を解決するための手段】
本発明の観点は、ストリームデータのような関連性のあるデータを記録するときに識別情報を記録し、データ再生時に当該識別情報を参照することにより、同一識別情報のデータを、バッファRAMの同一バッファ領域に格納する方式である。
【0013】
本発明の観点に従ったディスク記憶装置は、ディスク記録媒体に対して、データを記録又は再生する記録再生手段と、前記ディスク記録媒体から再生したデータを格納するバッファメモリ手段と、前記ディスク記録媒体上に関連性のあるデータを記録するときに、当該関連性のあるデータを識別する識別情報を記録し、当該関連性のあるデータの再生時に同一識別情報に対応するデータを前記バッファメモリの同一バッファ領域に格納する制御手段とを備えたものである。
【0014】
このような構成であれば、データ再生時に、ディスクから読出したデータの識別情報により、転送先のバッファ領域が選択されて、同一識別情報のデータは、同一バッファ領域に格納される。従って、バッファメモリからホストシステムにデータ転送を行なう場合に、バッファメモリ全体を検索することなく、識別情報に対応するアクセス対象のデータを短時間で転送できる。要するに、ディスクから読出したストリームデータのような関連性のあるデータを、同一バッファ領域に振り分けて格納する。これにより、結果として、例えば同一ストリームデータに属するデータを連続してバッファメモリ(RAM)へ格納することができるため、バッファメモリからアクセス対象のデータを容易に取り出すことが可能となる。
【0015】
【発明の実施の形態】
以下図面を参照して、本発明の実施の形態を説明する。
【0016】
(ディスクドライブの構成)
図1は、本実施形態に関係するディスクドライブの要部を示すブロック図である。ディスクドライブ1は、図1に示すように、記録媒体であるディスク10と、磁気ヘッド(以下単にヘッド)11と、ボイスコイルモータ(VCM)13を含むアクチュエータ12とを有する機構系と、後述する制御・信号処理系とから構成されている。
【0017】
ディスク10は、スピンドルモータ(SPM)14により回転される。VCM13及びSPM14は、VCM・SPMドライバ15により駆動される。アクチュエータ12は、ヘッド11を搭載し、VCM13の駆動力によりディスク10の径方向に移動される。
【0018】
制御・信号処理系は、ヘッドアンプIC16と、リード/ライト(R/W)チャネル17と、マイクロプロセッサ(CPU)18と、RAM19と、ROM20と、ゲートアレイ21と、ディスクコントローラ(HDC)22と、バッファRAM(バッファメモリ)23と、システムバス24とを有する。
【0019】
ヘッドアンプIC16は、ヘッド11から読出されたリード信号を増幅してR/Wチャネル17に伝送したり、また、R/Wチャネル17から出力されたライト信号を電流に変換してヘッド11に供給する。R/Wチャネル17は、記録又は再生のためにリード/ライトデータの信号処理を実行する。
【0020】
ディスクコントローラ22は、後述するように、バッファRAM23を管理し、ドライブ1とホストシステム2との間のデータ転送を制御する。ディスクコントローラ22は、ヘッド11によりディスク10から読出されたデータを、バッファRAM23を経由してホストシステム2に転送する。このデータは、R/Wチャネル17により再生される。また、コントローラ22は、ホストシステム2から転送されたリード/ライトコマンドや、ライトデータを受信する。ライトデータは、R/Wチャネル17により処理されてヘッドアンプIC16に伝送される。
【0021】
CPU18は、ドライブ1のメイン制御装置であり、ディスクコントローラ22が受信したリード/ライトコマンドに従って、各種のリード/ライト制御を実行する。リード/ライト制御には、ヘッド11をディスク10上の目標トラックまで移動して位置決めするサーボ制御や、バッファRAM23に格納されたデータの中からアクセス要求されたデータをホストシステム2に転送する制御などが含まれる。RAM19は、CPU18の動作に必要な各種データを格納するためのワークメモリである。ROM20は、主としてCPU18のプログラムを格納している。ゲートアレイ21は、R/Wチャネル17により再生されるサーボデータやタイミング信号を、CPU18やコントローラ22に供給するなどの処理を実行するロジック回路である。
【0022】
(ディスクドライブの動作)
本実施形態は、ホストシステム2からのリードコマンドに従って、ディスク10に記録されているストリームデータをアクセスし、ホストシステム2に転送するリードアクセス動作を想定する。以下、主として図7のフローチャートを参照し、かつ適宜図2から図6も合わせて参照して、本実施形態のリードアクセス動作を説明する。
【0023】
まず、ディスクドライブ1は、ディスクコントローラ22がホストシステム2からリードコマンドを受信すると、リードアクセス動作を開始する(ステップS1)。リードコマンドには、アクセス対象のストリームデータが記録されているディスク10上の場所(目標トラック)を示すアドレス情報が含まれている。
【0024】
CPU18は、ディスクコントローラ22出受信したリードコマンドに従って、ヘッド11をディスク10上の目標トラックにシーク(移動と位置決め)させるシーク動作を実行する(ステップS2)。具体的には、CPU18は、VCM・SPMドライバ15を介してVCM13を駆動制御して、アクチュエータ12を目標トラックまで移動させる。
【0025】
シーク動作が完了して、ヘッド11が目標トラックに位置決めされると、リード動作を開始する(ステップS3のYES,S4)。具体的には、図4(A)に示すように、ディスク10の目標トラックの範囲内で、ヘッド11は、シーク完了位置50から矢印51の方向にリード動作を開始する。
【0026】
ここで、アクセス対象のストリームデータ(便宜的に識別情報Aとする)は、図4(A)に示すように、連続するデータA1とデータA2を想定する。ヘッド11は、データA2、データC1、データB1、データA1を順次読出す。ストリームデータ(A)の先頭データをデータA1とした場合、先頭からではなく、シーク完了直後にあるデータA2から読出す。そして、再びヘッド11がシーク完了位置50に戻ってくるまでに、データA1を読出すことで、ストリームデータ(A)の読出し動作が完了する。このリード方法は、ディスク10の回転待ちを極力少なくする有効な方法である。
【0027】
ヘッド11から読出されたデータは、前述したように、R/Wチャネル17を介してディスクコントローラ22に転送される。ディスクコントローラ22は、バッファRAM23に、R/Wチャネル17により再生された再生データを順次格納する。ここで、ヘッド11により読出された順序で、データA2、データC1、データB1、データA1がバッファRAM23に格納されると、バッファRAM23では、各データが混在した状態で格納されてしまう。
【0028】
そこで、本実施形態では、図4(B)に示すように、コントローラ22は、バッファRAM23には、ストリームデータ(A)に属するデータA2,A1を同一のバッファ領域に格納する。同様に、ストリームデータ(B)に属するデータB1及びストリームデータ(C)に属するデータC1,C2をそれぞれ同一のバッファ領域に格納する。
【0029】
CPU18は、目標トラックの1周分のデータ、またはアクセス対象のデータが記録された終了セクタまでのデータがバッファRAM23に格納されると、リード動作が終了したと判定する(ステップS5のYESまたはS6のYES)。CPU18はコントローラ22を介して、バッファRAM23から、アクセス対象のストリームデータ(A)に属するデータA2,A1のみを検索して、ホストシステム2に転送させる。
【0030】
このような本実施形態のバッファRAM23の管理方法について説明する。
【0031】
図6は、ディスク10上のトラックに記録されているセクタフォーマットM0および、データの読出しプロセスR0を示す図である。ディスク10上の各トラックには、セクタフォーマットM0からなる複数のデータセクタが構成されている。
【0032】
本実施形態のセクタフォーマットM0は、先頭のサーボデータM1、SYNCパターンM2、ストリーム識別情報(ID情報、SM−ID)M3、ユーザデータM4、及びECCデータM5からなる。
【0033】
ヘッド11による読出しプロセス(R0)では、まずサーボデータM1が読出される(R1)。サーボデータM1は、トラックアドレスと位置情報(サーボバーストデータ)に分割される。サーボアドレスは、ゲートアレイ21により判定される。CPU18は、位置情報を使用して、目標トラックとヘッド11との位置誤差を演算することによりアクチュエータ12を制御し、ヘッド11を目標トラックに位置決めする(シーク完了位置50)。
【0034】
一方、本実施形態の読出しプロセスでは、コントローラ22は、SYNCパターンM2を検出すると(R2)、ストリームID情報(SM−ID)M3を取得する(R3)。コントローラ22は、当該ID情報に基づいて、ユーザデータM4が属するストリームデータ(関連性)を識別し、バッファRAM23の指定のバッファ領域に格納する(図2を参照)。
【0035】
コントローラ22は、ユーザデータM4の次に、ECCデータM5を読出し(R4)、バッファRAM23に格納されたユーザデータM4が正常であるか否かを判定する。コントローラ22は、異常があると判定した場合には、当該ECCデータM5を使用して正常なデータに訂正した後に、ホストシステム2に転送する。そして、次のセクタの読出し処理に移行する(R5)。
【0036】
図2は、ストリームID情報に基づいて、バッファRAM23のバッファ領域を配分する状態を示す。また、図3は、バッファ領域を管理するためのポインタと、ストリームID情報との対応付けを示すテーブル情報を示す。コントローラ22は、当該テーブル情報を作成して、バッファRAM23のバッファ領域を配分を管理する。
【0037】
図7のフローチャートの説明に戻ると、コントローラ22は、前述のように読出されたストリームID情報が、アクセス対象(ホストへの転送対象)のストリームデータ(A)に含まれるか否かを判定する(ステップS7)。判定結果がYESであれば、コントローラ22は、図3に示すテーブル情報からバッファ領域を指定するバッファポインタを求める(ステップS8)。具体的には、読出されたデータが、ストリームデータ(A)に属するデータA1またはA2であれば、ポインタPaを求める。コントローラ22は、図2に示すように、ポインタPaにより指定されるバッファ領域に、ストリームデータ(A)に属するデータA1またはA2を格納する(ステップS9)。同様にして、バッファポインタを更新して、ポインタPbにより指定されるバッファ領域に、ストリームデータ(B)に属するデータB1を格納する。
【0038】
以上要するに本実施形態によれば、ホストシステム2からのリードコマンドに従って、コントローラ22は、ディスク10から読出したデータのストリームID情報を取得する。そして、バッファRAM23において、当該ストリームID情報に対応するバッファ領域をポインタにより指定する。これにより、コントローラ22は、ディスク10から再生したデータの中で、リードコマンドにより指定されたストリームデータ(A)に属するデータA1,A2を、バッファRAM23の同一バッファ領域に格納する。
【0039】
コントローラ22は、CPU18からの指示に応じて、アクセス対象のデータA1,A2をバッファRAM23からホストシステム2に転送する。この場合、本実施形態では、アクセス対象のデータA1,A2は、同一バッファ領域に格納されている。従って、コントローラ22は、バッファRAM23の全領域を検索するような動作は不要であり、アクセス対象のデータA1,A2を短時間で検索して転送することができる。
【0040】
(変形例)
図5は、図4に示すリードアクセスの変形例を示す図である。
【0041】
本変形例は、ホストシステム2からストリームデータ(A)に含まれるデータA1をアクセスする場合を想定する。前述したように、ヘッド11のシーク完了位置50からリード動作が開始されると、ディスク10上からデータC1、データB1、データC2が読出されて、バッファRAM23に転送される。
【0042】
即ち、アクセス対象のデータA1が読出される前に、バッファRAM23には、データC1、データB1、データC2がそれぞれのバッファ領域に格納されている。そして、アクセス対象のデータA1が読出されて、バッファRAM23の指定のバッファ領域に格納されると、リード動作は終了となる。コントローラ22は、バッファRAM23から、ストリームデータ(A)に対応するバッファ領域のみを検索して、再生されたデータA1をホストシステム2に転送する。
【0043】
(識別情報の取り扱い方法)
次に、図8及び図9のフローチャートを参照して、本実施形態でのストリームID情報の取り扱い方法を説明する。
【0044】
ディスク10上に記録されるストリームID情報(SM−ID)は、記録されるストリームデータ毎に一意の値を有する必要がある。本方法は、ディスクドライブの電源が再投入された後でも、以前に記録されたストリームデータが判別できるように、ある程度の期間、ストリームID情報が再利用のされない仕組みを有するものである。
【0045】
まず、図8に示すように、ホストシステム2から発行されたライトストリームコマンドを受信すると、当該コマンドからストリームID情報(ST−IDとする)を取り出す(ステップS11)。このST−IDに基づいて、図6に示すように、ディスク10上に、ストリームID情報(SM−ID)をユーザデータと共に書き込む。
【0046】
当該ST−IDが以前に使用されている場合には、コントローラ22は、作成したテーブルから該当するSM−IDを検索して、ディスク10上にユーザデータ(ストリームデータの一部)と共に書き込む(ステップS12のYES,S18)。以前に使用されていない場合には、ドライブ1の電源がON直後であるか否かを判定する(ステップS12のNO,S13)。
【0047】
電源がON直後の最初のライト動作の場合には、電源ON前まで使用していたSM−IDを、便宜的にメディアID(PSM−ID)として設定する(ステップS13のYES,S14)。そして、電源遮断後の最後の「SM−ID+」をSM−IDとして設定する(ステップS16)。一方、層でない場合には、前回使用したSM−IDを、メディアID(PSM−ID)として設定する(ステップS13のNO,S15)。コントローラ22は、ST−IDとSM−IDとの組をテーブル情報として作成する(ステップS17)。
【0048】
次に、図9のフローチャートを参照して、SM−IDが付加されたストリームデータを読出す場合の取り扱いについて説明する。
【0049】
図9に示すように、ホストシステム2から発行されたリードストリームコマンドを受信すると、当該コマンドからストリームID情報(ST−ID)を取り出す(ステップS21)。当該ST−IDが以前に使用されている場合には、コントローラ22は、作成したテーブルから該当するSM−IDを検索する(ステップS22のYES,S27)。
【0050】
以前に使用されていない場合には、ドライブ1の電源がON直後であるか否かを判定する(ステップS22のNO,S23)。電源がON直後のリード動作の場合には、電源遮断後の最後のSM−IDを0に設定する(ステップS23のYES,S24)。それ以外の場合には、前回使用したSM−ID+1をSM−IDとして設定する(ステップS23のNO,S25)。コントローラ22は、ST−IDとSM−IDとの組をテーブル情報として作成する(ステップS26)。
【0051】
以上のように本実施形態によれば、ストリームデータを識別するID情報を利用することにより、バッファRAM23をストリームデータ毎のバッファ領域を振り分ける。従って、ディスクコントローラ22は、バッファRAM23全体を検索することなく、アクセス対象のストリームデータに対応するバッファ領域のみを検索できる。これにより、リードアクセス対象のストリームデータを、高速にホストシステムに転送することが可能となる。
【0052】
なお、バッファRAM23のバッファ領域の容量は、ストリームデータ量に従って調整することになる。また、本実施形態では、いわゆるAVデータなどのストリームデータを想定したが、これに限ることなく、識別情報(ID情報)により関連付けされたデータのリードアクセス動作にも適用できる。
【0053】
【発明の効果】
以上詳述したように本発明によれば、ストリームデータのような関連性のあるデータの転送効率の向上を図ることできるディスク記憶装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に関するディスクドライブの要部を示すブロック図。
【図2】本実施形態に関するバッファRAMの構成を説明するための図。
【図3】本実施形態に関するバッファRAMを管理するためのテーブル情報を示す図。
【図4】本実施形態に関するリードアクセス動作を説明するための図。
【図5】本実施形態の変形例に関する図。
【図6】本実施形態に関するディスク上のセクタフォーマットを示す図。
【図7】本実施形態に関するリードアクセス動作を説明するためのフローチャート。
【図8】本実施形態に関するストリームID情報の取り扱い方法を説明するためのフローチャート。
【図9】本実施形態に関するストリームID情報の取り扱い方法を説明するためのフローチャート。
【符号の説明】
1…ディスクドライブ、2…ホストシステム、10…ディスク、
11…磁気ヘッド(ヘッド)、12…アクチュエータ、13…ボイスコイルモータ(VCM)、14…スピンドルモータ(SPM)、15…VCM・SPMドライバ、16…ヘッドアンプIC、17…リード/ライト(R/W)チャネル、
18…マイクロプロセッサ(CPU)、22…ディスクコントローラ(HDC)、
23…バッファRAM。
Claims (7)
- ディスク記録媒体に対して、データを記録又は再生する記録再生手段と、
前記ディスク記録媒体から再生したデータを格納するバッファメモリ手段と、
前記ディスク記録媒体上に関連性のあるデータを記録するときに、当該関連性のあるデータを識別する識別情報を記録し、当該関連性のあるデータの再生時に同一識別情報に対応するデータを前記バッファメモリの同一バッファ領域に格納する制御手段と
を具備したことを特徴とするディスク記憶装置。 - 前記関連性のあるデータは、ストリームデータであることを特徴とする請求項1に記載のディスク記憶装置。
- 前記制御手段は、前記識別情報と前記バッファメモリのバッファ領域を指定するためのバッファポインタとを対応付けするテーブル情報を作成し、当該テーブル情報に基づいてリードアクセス対象のストリームデータを前記バッファメモリから取り出して外部に転送することを特徴とする請求項1に記載のディスク記憶装置。
- 前記制御手段は、前記識別情報毎に前記バッファメモリのバッファ領域を指定するときに、当該バッファ領域の容量を設定することを特徴とする請求項1に記載のディスク記憶装置。
- 前記制御手段は、前記ストリームデータのアクセス要求を行なうホストシステムとのインターフェースを含み、当該ホストシステムと前記バッファメモリとの間で前記ストリームデータの転送を制御するディスクコントローラであることを特徴とする請求項1に記載のディスク記憶装置。
- ディスク記録媒体に対して、ストリームデータを記録又は再生する記録再生手段と、前記ディスク記録媒体から再生したストリームデータを格納するバッファメモリ手段とを有するディスクドライブに適用するバッファ制御方法であって、
前記ディスク記録媒体上にストリームデータを記録するときに、当該ストリームデータを識別する識別情報を記録し、
ストリームデータの再生時に同一識別情報に対応するデータを前記バッファメモリの同一バッファ領域に格納することを特徴とするバッファ制御方法。 - ディスク記録媒体に対して、ストリームデータを記録又は再生する記録再生手段と、前記ディスク記録媒体から再生したストリームデータを格納するバッファメモリ手段とを有するディスクドライブに適用するバッファ制御方法であって、
前記ディスク記録媒体上から指定されたストリームデータを再生するときに、当該ストリームデータの識別情報に対応する前記バッファメモリ手段のバッファ領域を特定し、
前記ディスク記録媒体上から読出したデータを、当該データの識別情報に対応する前記バッファ領域に格納することを特徴とするバッファ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022397A JP2004234762A (ja) | 2003-01-30 | 2003-01-30 | ディスク記憶装置及びバッファ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022397A JP2004234762A (ja) | 2003-01-30 | 2003-01-30 | ディスク記憶装置及びバッファ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004234762A true JP2004234762A (ja) | 2004-08-19 |
Family
ID=32951472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003022397A Pending JP2004234762A (ja) | 2003-01-30 | 2003-01-30 | ディスク記憶装置及びバッファ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004234762A (ja) |
-
2003
- 2003-01-30 JP JP2003022397A patent/JP2004234762A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020129200A1 (en) | Apparatus and method for defragmentation in disk storage system | |
JP2005215729A (ja) | データ伝送制御方法及び記憶装置 | |
KR100228796B1 (ko) | 디펙섹터가 포함되는 임의 데이타구간의 데이타 리드/라이트 제어방법 | |
US20050162990A1 (en) | Optical disk apparatus with multiple reproduction/record units for parallel operation | |
JP2005267497A (ja) | データ記憶装置、その制御方法及び磁気ディスク記憶装置 | |
JPH03113779A (ja) | パラレル転送型ディスクシステム | |
JPH10269027A (ja) | ディスク装置及び同装置におけるバッファ管理制御方法 | |
JP2005025829A (ja) | ディスク記憶装置及びデータストリーム制御方法 | |
US20070143536A1 (en) | Storage device that pre-fetches data responsive to host access stream awareness | |
JP2004234762A (ja) | ディスク記憶装置及びバッファ制御方法 | |
JPH10312647A (ja) | 磁気ディスク装置及び同装置に適用するディスク・フォーマッティング方法 | |
JP2002197791A (ja) | 光記録媒体のデータコピー/移動方法及び装置 | |
JP3983962B2 (ja) | データ読み出し装置、磁気記録再生装置、データ再生システム、及びデータ出力方法 | |
JP4078155B2 (ja) | 磁気ディスク装置及びその制御方法 | |
JP2011222015A (ja) | ディスク装置及びそのライト方法 | |
JP2000222137A (ja) | ディスク記憶装置及び同装置におけるバッファ制御方法 | |
US6961198B2 (en) | Method and apparatus for controlling data read/write between a hard disk and a hard disk controller | |
JPH07141785A (ja) | データ記録装置及び欠陥セクタの代替処理方法 | |
JP3579395B2 (ja) | ディスク記憶装置及びアクセス方法 | |
JP2000187938A (ja) | 情報記録再生装置および情報記録再生方法 | |
JP2002251821A (ja) | 情報記録再生装置 | |
US20090040886A1 (en) | Disk playback apparatus and method | |
JPH08180598A (ja) | データ記録再生装置及びそのディフェクト処理方法 | |
JPH1196682A (ja) | ディスク記憶装置及び同装置に適用するデータ記録方法 | |
JPH0628779A (ja) | ディスク装置におけるデータ記録制御方法 |