JP2008198282A - Storage device fetching data in response to host access stream recognition - Google Patents
Storage device fetching data in response to host access stream recognition Download PDFInfo
- Publication number
- JP2008198282A JP2008198282A JP2007032331A JP2007032331A JP2008198282A JP 2008198282 A JP2008198282 A JP 2008198282A JP 2007032331 A JP2007032331 A JP 2007032331A JP 2007032331 A JP2007032331 A JP 2007032331A JP 2008198282 A JP2008198282 A JP 2008198282A
- Authority
- JP
- Japan
- Prior art keywords
- data
- lba
- data storage
- storage device
- access sequence
- 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
Abstract
Description
本発明は、一般にオーディオ/ビデオ・データ・ストリームなどのデータ・ストリームにアクセスするデータ記憶装置、ホスト装置およびコンピュータ・プログラム製品に関するものである。 The present invention relates generally to data storage devices, host devices, and computer program products for accessing data streams such as audio / video data streams.
デジタル形式で情報を記憶するコンピュータおよびデータ処理システムに使用するデータ記憶装置の一般的形式には、(たとえば磁気的および/または光学式の)ディスク・ドライブおよびテープ・ドライブが含まれる。通常のディスク・ドライブは、ヘッド・スタック・アセンブリ、一つまたはそれ以上のデータ記憶ディスクおよびこの記憶ディスクを回転させるスピンドル・モータを含む。ヘッド・スタック・アセンブリは、フレクシャ・アーム(flexure arm)へ装着された一つまたはそれ以上の読み書きヘッドを含むアクチュエータ・アーム・アセンブリを含む。アクチュエータ・モータは、ピボット・ベアリングの周りにフレクシャ・アームおよびヘッドを回転させると共に、ディスク上の同心円のデータ・トラックへデータを書込み、そこからデータを読取ることが出来る。 Common types of data storage devices used in computers and data processing systems that store information in digital form include disk drives and tape drives (eg, magnetic and / or optical). A typical disk drive includes a head stack assembly, one or more data storage disks, and a spindle motor that rotates the storage disks. The head stack assembly includes an actuator arm assembly that includes one or more read / write heads attached to a flexure arm. The actuator motor rotates the flexure arm and head around the pivot bearing and can write data to and read data from concentric data tracks on the disk.
ターゲット・ブロック上でデータを読み書きするために、ディスク・ドライブへのホスト装置からの読み書きコマンドに応答して、このディスク・ドライブは、それがデータを読み書きできる以前に、ターゲット・トラックに沿ってターゲット・ブロック上へヘッドを位置決めしなければならない。シーク動作を通じてディスク・ドライブは、ヘッドをデータ・トラックを半径方向に横切って、開始トラックから宛先トラックへ移動する。その後、ディスクの回転が宛先トラックのターゲット・ブロックをヘッドの下に移動させることにより、そこからデータ読取りそこへ書込むことができるようになる。ターゲット・ブロックへアクセスするのに必要な時間の量すなわちアクセス・タイムは、宛先トラック上へヘッドを位置決めするシーク動作、宛先トラック上へヘッドを静定するための時間、およびヘッドの下へ回転する宛先トラック上のターゲット・ブロックに必要な時間である回転遅れの、累積時間を含む。従って、読み書きホスト・コマンドを実行するためにディスク・ドライブが取る経過時間は、部分的にアクセス・タイムによって異なる。 In response to a read / write command from the host device to the disk drive to read / write data on the target block, this disk drive will target along the target track before it can read / write data. • The head must be positioned on the block. Through the seek operation, the disk drive moves the head across the data track in the radial direction from the start track to the destination track. Thereafter, disk rotation allows the target block of the destination track to be moved under the head so that data can be read from and written to it. The amount of time required to access the target block, i.e., access time, is the seek operation to position the head on the destination track, the time to settle the head on the destination track, and rotate down the head Contains the accumulated time of rotation delay, which is the time required for the target block on the destination track. Thus, the elapsed time taken by the disk drive to execute the read / write host command depends in part on the access time.
ディスク・ドライブは、速度のプロファイルを使用してシーク動作中にヘッドを移動できるが、この速度のプロファイルは、主としてアクセス・タイムを最小化するために設計されると共に、シーク動作、熱の発生および/またはエラー防止/回復(データ保全)により導入される音響雑音の発生により課せられる制約に適応するように試みる。いくつかのディスク・ドライブは、比較的に隣接するトラック内のいくつかのデータのブロックにアクセスするために必要な累積時間を減少させようと試みて、待ち行列に入れた読み書きホスト・コマンドを入れ替える。しかしながら、速度プロファイルおよび/または入れ替え処理は、読み書きコマンドが一般にランダム・シーク動作を起すパーソナル・コンピユータ・システムにこれらディスク・ドライブが使用されるという予想により設計されている。速度プロファイルおよび/または入れ替え処理は、オーディオ/ビデオ(AV)データ・ストリームを読取るときのような、実質的に非ランダム・シーク動作を引き起こすホストによりこれらディスク・ドライブが使用される場合に、適応可能なアクセス・タイム、音響雑音、温度管理および/またはデータ保全を供給しないかも知れない。 Disk drives can use a speed profile to move the head during a seek operation, but this speed profile is designed primarily to minimize access time as well as seek operation, heat generation and Attempts to adapt to constraints imposed by the generation of acoustic noise introduced by / or error prevention / recovery (data integrity). Some disk drives swap queued read / write host commands in an attempt to reduce the accumulated time required to access some blocks of data in relatively adjacent tracks . However, speed profiles and / or swapping processes are designed with the expectation that these disk drives will be used in personal computer systems where read / write commands typically cause random seek operations. Speed profiles and / or swapping processes are adaptable when these disk drives are used by a host that causes a substantially non-random seek operation, such as when reading an audio / video (AV) data stream May not provide access time, acoustic noise, temperature management and / or data integrity.
ディスク・ドライブは、AVシステム内のAVコンテンツ、高精細度および他の高解像度AVコンテンツ・ストリーム、双方向TVゲーム、ブロードバンド・インターネットAVサービス、家庭用電化製品等におけるAV監視などのためにますます多く使用されている。たとえば、ディジタル・ビデオテープ・レコーダ(DVR)が家庭用電化製品市場に入っており、これによりユーザが実質的にビデオ録画して選択した放送を使用できる。その上、いくつかのDVRは、二つ以上の放送を同時的に記録したりおよび/または異なった放送を同時的に記録し再生できる。従って、AVシステム内のディスク・ドライブは、記憶すべきAVコンテンツの受け入れ可能な量を許容する十分な記憶容量を供給すべきであり、また、知覚できる中断なしにリアル・タイムで多数のAVデータ・ストリームを記憶/検索する必要のために高度なデータ・スループットを供給すべきである。ディスク・ドライブから十分に高度なデータ・スループットを得ることは、そこに音響雑音、温度管理、および/またはデータ保全の制約が課せられているので困難であり得る。 Disk drives are increasingly used for AV content in AV systems, high-definition and other high-definition AV content streams, interactive TV games, broadband Internet AV services, home appliances, etc. Many are used. For example, digital video tape recorders (DVRs) have entered the consumer electronics market, allowing users to use broadcasts that have been substantially video recorded and selected. Moreover, some DVRs can record two or more broadcasts simultaneously and / or record and play different broadcasts simultaneously. Thus, a disk drive in an AV system should provide sufficient storage capacity to allow an acceptable amount of AV content to be stored, and a large amount of AV data in real time without perceptible interruptions. It should provide a high data throughput for the need to store / retrieve the stream. Obtaining a sufficiently high data throughput from a disk drive can be difficult because it imposes acoustic noise, thermal management, and / or data integrity constraints.
本発明のいくつかの実施例において、データ記憶装置は、データ記憶媒体、ヘッド、データ・フェッチ・バッファ、およびコントローラを含む。ヘッドは、媒体上の論理ブロック・アドレス(LBA)に記憶されたデータを読取るように構成される。データ・フェッチ・バッファは、データを記憶するように構成される。コントローラは、媒体上のLBAからヘッドを通じてデータを読取るように構成され、これらLBAは、記憶装置内のLBAアクセス・シーケンス情報により識別され、LBAアクセス・シーケンス情報は、ホスト装置がアクセスするLBAのシーケンスを識別する。コントローラはまた、データ・フェッチ・バッファに読取られたデータを記憶する。コントローラはまた、LBAアクセス・シーケンス情報により識別される媒体のLBAにおけるデータへ宛てられたホスト装置からの読取りコマンドに応答するが、読取りコマンドに関連するデータをデータ・フェッチ・バッファからホスト装置へ通知することにより前記データ・フェッチ・バッファに読込み済みである前記読取りコマンドに応答するように構成されている。 In some embodiments of the present invention, the data storage device includes a data storage medium, a head, a data fetch buffer, and a controller. The head is configured to read data stored at a logical block address (LBA) on the medium. The data fetch buffer is configured to store data. The controller is configured to read data from the LBA on the medium through the head, and these LBAs are identified by LBA access sequence information in the storage device, and the LBA access sequence information is the sequence of LBAs accessed by the host device. Identify The controller also stores the read data in a data fetch buffer. The controller also responds to a read command from the host device addressed to data in the LBA of the medium identified by the LBA access sequence information, but notifies the host device of data associated with the read command from the data fetch buffer. To respond to the read command that has been read into the data fetch buffer.
従って、ホスト装置は、それがデータを読取ろうと計画するLBAのシーケンスについて、データ記憶装置へ通知する。データ記憶装置は、識別されたLBAのシーケンスからデータ・フェッチ・バッファへデータを読み込むことにより、ホスト装置からの予想される読取りコマンドのために、準備する。LBAのシーケンス内のLBAの一つに向けられているホスト装置からの読取られたコマンドに応答して、対応するデータがデータ・フェッチ・バッファからホスト装置へ通知される。データ記憶装置は、ピークおよび/または平均のデータ・スループット、発生され得る音響雑音、熱の発生、ピークおよび/または平均の電力消費および/またはデータ保全についての制約を満足するような仕方で、LBAシーケンスについてホスト装置により通知されることと、データを読取るためにそれらのLBAへ当てられた読取りコマンドを受信することの間の追加的な時間を使用するように構成される。 Thus, the host device informs the data storage device about the sequence of LBAs it plans to read data. The data storage device prepares for an expected read command from the host device by reading data from the identified sequence of LBAs into the data fetch buffer. In response to a read command from the host device that is directed to one of the LBAs in the sequence of LBAs, corresponding data is posted from the data fetch buffer to the host device. The data storage device performs LBA in a manner that satisfies constraints on peak and / or average data throughput, acoustic noise that may be generated, heat generation, peak and / or average power consumption and / or data integrity. It is configured to use additional time between being notified by the host device about the sequence and receiving a read command applied to those LBAs to read the data.
本発明のいくつかの実施例において、データ記憶装置はディスク・ドライブである。データ記憶媒体は回転可能なデータ記憶装置を含み、またヘッドはディスク上のLBA内のデータ記憶域を読取るように構成される。 In some embodiments of the present invention, the data storage device is a disk drive. The data storage medium includes a rotatable data storage device and the head is configured to read the data storage in the LBA on the disk.
本発明のいくつかの他の実施例は、データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取るためのコンピュータ・プログラム製品を供給する。このコンピュータ・プログラム製品は、コンピュータ読取り可能な記憶媒体内に実装されたコンピュータ・プログラム・コードを含む。このコンピュータ・プログラム・コードはホスト装置により実行されて、ホスト装置がアクセスするデータ記憶装置内の媒体上のデータ記憶位置の論理ブロック・アドレス(LBA)のシーケンスを定義するように構成される。他のコンピュータ・プログラム・コードは、ホスト装置により実行されて、LBAアクセス・シーケンス情報として定義されたLBAのシーケンスをホスト装置からデータ記憶装置へ通知するように構成される。さらに他のコンピュータ・プログラム・コードは、データ記憶装置へLBAアクセス・シーケンス情報を通知した後に、LBAアクセス・シーケンス情報により識別されたLBAからデータを読取るようにホスト装置により実行されて、データ記憶装置へ読取りコマンドを通知するように構成される。 Some other embodiments of the present invention provide a computer program product for reading a data storage location on a data storage medium in a data storage device. The computer program product includes computer program code implemented in a computer readable storage medium. The computer program code is executed by a host device and is configured to define a logical block address (LBA) sequence of data storage locations on a medium in the data storage device that the host device accesses. Other computer program code is configured to be executed by the host device to notify the data storage device from the host device of the sequence of LBAs defined as LBA access sequence information. Still another computer program code is executed by the host device so as to read data from the LBA identified by the LBA access sequence information after notifying the data storage device of the LBA access sequence information. Configured to notify the read command.
本発明のいくつかの他の実施例は、ホスト装置に対応する方法に向けられ、データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取る。本発明のこれらおより他の実施例は、添付図面を参照して下記に説明される。 Some other embodiments of the present invention are directed to a method corresponding to a host device for reading a data storage location on a data storage medium in a data storage device. These and other embodiments of the present invention are described below with reference to the accompanying drawings.
さて、本発明の実施例を示す添付図面を参照しながら以下に一層詳細に説明する。しかしながら、本発明は多くの代わりの形式において実施され、本書に提示した実施例に限定されるものと考えるべきではない。 Now, the present invention will be described in more detail with reference to the accompanying drawings showing embodiments of the present invention. However, the present invention may be implemented in many alternative forms and should not be considered limited to the embodiments presented herein.
従って本発明は種々の修正と代わりの形式を受け得るが、その特定の実施例が図面により例示され、また本書に詳細に説明される。しかしながら、理解すべきは本発明を開示された特定の形式に限定される意図はないことであり、反対に本発明は特許請求の範囲に定義される本発明の精神と範囲に入る全ての修正、均等物、および代案を含む。同一の番号は、諸図面の説明を通じて同一の要素を示す。 Accordingly, while the invention may be susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the intention is not to limit the invention to the particular form disclosed, but on the contrary, the invention covers all modifications that fall within the spirit and scope of the invention as defined by the claims. , Equivalents, and alternatives. The same numbers indicate the same elements throughout the drawings.
理解すべきは、本書に使用される用語「含む(comprising)」または「含む(comprises)」は、制限のないものであって、一つまたはそれ以上の状態の要素、ステップ、および/機能を含み、それらは、暗黙の(unstated)要素、ステップおよび/または機能を除外しない。本書の使用においては、単数形「a」、「an」および「the」は、本文が他のことを明瞭に指示しない限り同様に複数形をも含むことも意図する。本書の使用において、用語「および/または(and/or)」および「/」は、関連する記載された項目の一つまたはそれ以上のいずれかまたは全ての組み合せを含む。理解すべきは、本書において種々の要素および/または領域を記述するために第一、第二などの用語が使用されるが、これらの要素および/または領域はこれらの用語に限定されないことである。これらの用語が、単に一つの要素/領域を他の要素/領域から区別するために、使用されるだけである。こうして、下記に議論する第1の要素/領域は、本発明の表示から離れることなく、第二の要素/領域と名付けることが出来る。 It should be understood that the terms “comprising” or “comprises” as used herein are open-ended and include elements, steps, and / or functions of one or more states. They do not exclude unstated elements, steps and / or functions. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the text clearly indicates otherwise. As used herein, the terms “and / or” and “/” include any or all combinations of one or more of the associated listed items. It should be understood that although first, second, etc. terms are used herein to describe various elements and / or regions, these elements and / or regions are not limited to these terms. . These terms are only used to distinguish one element / region from another. Thus, the first element / region discussed below can be named the second element / region without departing from the representation of the present invention.
本発明は、装置、方法および/またはコンピュータ・プログラム製品として実施できる。したがって、本発明は、ハードウェアおよび/またはソフトウェア(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)で実施できる。結果として、本書で使用される場合用語「信号」は、連続的な波形および/またはメモリにおけるデジタル値のような離散的な値の形式をとり得る。さらに本発明は、命令実行システムにより、または関連して使用される媒体で実施されるコンピュータ使用可能またはコンピュータ読取り可能なプログラム・コードを有するコンピュータ使用可能またはコンピュータ読取り可能な記憶媒体上のコンピュータ・プログラム製品の形をとり得る。本書の文脈において、コンピュータ使用可能またはコンピュータ読取り可能な媒体は、命令実行コンピュータ・システム設備または装置により使用されるか関連するプログラムを収納し、記憶し、通知し、伝播または転送するあらゆる媒体であり得る。 The present invention can be implemented as an apparatus, method and / or computer program product. Thus, the present invention can be implemented in hardware and / or software (including firmware, resident software, microcode, etc.). As a result, the term “signal” as used herein may take the form of a discrete value, such as a continuous waveform and / or a digital value in memory. The present invention further relates to a computer program on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code implemented on a medium used by or in connection with the instruction execution system. Can take the form of a product. In the context of this document, a computer-usable or computer-readable medium is any medium that contains, stores, communicates, propagates or transfers a program used or associated with an instruction execution computer system facility or apparatus. obtain.
コンピュータ使用可能またはコンピュータ読取り可能な媒体は、たとえば電子的、磁気的、光学的、電磁的、赤外線、または半導体のシステム、設備、装置または伝播媒体であり得るが、これらに限定されない。コンピュータ読取り可能な媒体の一層詳細な例(非網羅的なリスト)は、下記のものを含む:一つまたはそれ以上のワイヤを有する電気接点、ポータブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラム可能リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、およびポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)である。注意すべきは、コンピュータ使用可能またはコンピュータ読取り可能な媒体は、プログラムが印刷されている紙または他の適当な媒体でさえあっても良く、それはそのプログラムがたとえば紙または他の媒体の光学的な走査によってプログラムを電子的に捕捉し、それから必要ならコンパイルし、解釈し、または適当な他の形で処理して、それからコンピュータ・メモリへ記憶する。 The computer-usable or computer-readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, equipment, device, or propagation medium. More detailed examples (non-exhaustive list) of computer readable media include: electrical contacts with one or more wires, portable computer diskettes, random access memory (RAM) ), Read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, and portable compact disk read only memory (CD-ROM) . It should be noted that the computer usable or computer readable medium may be paper or other suitable medium on which the program is printed, such that the program is optical, for example on paper or other medium. The program is captured electronically by scanning, then compiled, interpreted if necessary, or otherwise processed in an appropriate manner and then stored in computer memory.
ブロック図のブロック内に記された機能/動作は、動作説明に記された順序に従わずに発生する。たとえば、引続き示される二つのブロックは、実際は実質的に同時的に実行されるか、またはこのブロックは、時には含まれる機能/動作に応じて反対の順序で実行される。いくつかの図解は、通信の主要な方向を示すために通信パスに矢印を含むが、記述された矢印と反対方向に通信が起り得ることを理解すべきである。 The functions / operations described in the blocks of the block diagram occur without following the order described in the operation description. For example, the two blocks shown subsequently are actually executed substantially simultaneously, or the blocks are sometimes executed in opposite order depending on the functions / operations involved. Some illustrations include arrows in the communication path to indicate the main direction of communication, but it should be understood that communication can occur in the opposite direction of the described arrow.
説明のために、磁気ディスク・ドライブおよび関連のホスト装置に関して、本発明の例示的な実施例を下記する。しかしながら、理解すべきは、本発明は、ディスク・ドライブとともに使用することに限定されるのではなく、代わりにそれはあらゆるタイプのデータ記憶装置とともに使用され、それらのデータ記憶装置は、光学ディスク・ドライブ(たとえば、CD−R/W、DVD−R/W)およびテープ・ドライブを含むが、これらに限定されない。従って、本書に使用される場合「データ記憶媒体」は、データを記憶するように構成されたあらゆる媒体をいい、磁気ディスク、光ディスクおよび磁気テープを含むが、これらに限定されない。また、本書で使用される場合「ヘッド」は、データ記憶媒体上のデータを読み書きするように構成されたあらゆる装置についていう。 For purposes of explanation, an exemplary embodiment of the present invention is described below with respect to a magnetic disk drive and associated host device. However, it should be understood that the present invention is not limited to use with disk drives; instead, it is used with any type of data storage device, which may be an optical disk drive. (E.g., but not limited to, CD-R / W, DVD-R / W) and tape drives. Thus, as used herein, “data storage medium” refers to any medium configured to store data, including but not limited to magnetic disks, optical disks, and magnetic tapes. Also, as used herein, “head” refers to any device configured to read and write data on a data storage medium.
図1に、ディスク・ドライブの簡略化した図解を示し、一般的に10で指示する。ディスク・ドライブ10は、スピンドル・モータ14により回転されるディスク・スタック12の中に配置される一つまたはそれ以上のディスクを含む。スピンドル・モータ14は、ベース・プレート16へ装着されている。アクチュエータ・アーム・アセンブリ18もまた、ベース・プレート16へ装着されている。ディスク・ドライブ10は、ホスト装置からの読み書きコマンドに応答して、データを記憶し、検索するように構成されている。ホスト装置は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯端末(PDA)、ディジタル・ビデオ・レコーダ/プレーヤ、ディジタル・ミュージック・レコーダ/プレーヤおよび/またはディスク・ドライブ10へ通信可能に結合されてデータを記憶し、検索できる他の電子装置を含むが、これらに限定されない。
FIG. 1 shows a simplified illustration of a disk drive, generally indicated at 10. The
アクチュエータ・アーム・アセンブリ18は、フレクシャ・アーム22へ装着されたヘッド20(またはトランスデューサ)を含み、フレクシャ・アーム22は、ピボッド・ベアリング・アセンブリ26の周りを回転できるアクチュエータ・アーム24へ取付けられている。ヘッド20は、たとえば磁気抵抗(MR)素子および/または薄膜誘導(TFI)素子を含む。アクチュエータ・モータ28(たとえばボイス・コイル・モータ(VCM))が、アクチュエータ・アーム・アセンブリ18を回転させて、ヘッド20をディスク・スタック12に対して半径方向に移動させる。スピンドル・モータ14およびアクチュエータ・アーム・アセンブリ18は、コントローラ、読み書きチャネル回路、およびプリント回路板(PCB)32へ装着された一つまたはそれ以上の集積回路パッケージ内に封入できる他の関連電子回路30へ結合されている。電子回路30は、アナログおよび/またはデジタルの回路を含み、典型的にデジタル信号プロセッサ(DSP)、マイクロ・プロセッサ・ベースのコントローラおよびメモリ装置を含む。電子回路30は、さらに後述する本発明の種々の実施例に従って構成され得る。
The
さて図2を参照すると、ディスク・スタック12は典型的に複数のディスク34を含み、その各々は一対のディスク表面36、36を有する。ディスク34は円筒形シャフト上に装着されて、スピンドル・モータ14を介して軸38の周囲を回転するように構成されている。ディスク34は、説明のために磁気ディスクとして説明されるが、それらは代わりに光ディスクまたはいずれか他のタイプのデータ記憶ディスクであり得る。
Referring now to FIG. 2, the
さて図1および図3の図示を参照すると、アクチュエータ・アーム・アセンブリ18は複数のヘッド20を含み、その各々はディスク表面36の異なった一つに隣接している。各ヘッド20は、アクチュエータ・アーム24の対応部分へ取り付けられた対応するフレクシャ・アーム22へ装着され、アクチュエータ・アーム24は、ピボット・ベアリング・アセンブリ26の周りを回転できる。アクチュエータ・モータ28が動作してアクチュエータ・アーム24を移動させ、こうしてヘッド20をそれらのそれぞれのディスク表面36に関して、半径方向に移動させる。
Referring now to the illustrations of FIGS. 1 and 3, the
図4を参照すると、電子回路30は、データ・コントローラ400、サーボ・コントローラ402、読み書きチャネル404、ホスト・コマンド・バッファ406、LBSシーケンス・アソシエーション・テーブル408、プレ・ホスト入出力(I/O)コマンド・データ・フェッチ・バッファ410を含む。電子回路30の例示的な実施例は、二つの別々のコントローラ400、402、読み書きチャネル404、および三つの別々のメモリ装置406、408、410で図示したが、これらは、ただ例示と議論のためである。理解すべきは、一つまたはそれ以上のコントローラ400、402、読み書きチャネル404、および/または装置406、408、410について本書に説明する機能は、一つの集積回路内に統合され、または二つ以上の集積回路パッケージの間に分散されたものであり得ることである。ヘッド・ディスク・アセンブリ(HDA)420は、アクチュエータ・アーム・アセンブリ18、ディスク・スタック12、アクチュエータ・モータ28およびスピンドル・モータ14を含み得る。
Referring to FIG. 4, the
読み書きチャネル404は、通常の方法で動作して、データ・コントローラ400により使用されるデジタル形式とHDA420内のヘッド20を通じて実行されるアナログ形式の間で、データを変換できる。読み書きチャネル404は、HDA420内のディスク34から読取ったサーボ位置情報を、サーボ・コントローラ402へ供給する。このサーボ位置情報は、ディスク34上のトラックに沿った論理ブロック・アドレス(LBA)に関するヘッド20の位置を検出するのに使用できる。サーボ・コントローラ402は、データ・コントローラ400からのLBAとサーボ位置情報を使用して、ディスク表面36の一つのターゲット・トラック上のLBAへヘッド20をシークし、またデータがLBA上で読取られ/書込まれている間に、ヘッド20をターゲット・トラックと整列させて維持することが出来る。
Read /
バッファされたホスト・コマンドにより識別されたLBAへ、コマンドに関連するデータが読取られまたは書込まれるのを待っている間に、ホスト装置からの読取りと書込みのコマンドは、コマンド・バッファ406内に一時的にバッファされる。データ・コントローラ400は、適当なヘッダ情報によって関連情報をブロック内にフォーマットすることにより、バッファされた書込みコマンドを実行し、また、フォーマットされたデータをコマンド・バッファ406から読み書きチャネル404を介して、バッファ書込みコマンドにより識別されるディスク34上のLBAへ転送するように構成されている。同様に、ホスト装置からのバッファされた読取りコマンドは、バッファされた読取りコマンドにより識別されたディスク34上のLBAからデータが検索されてホスト装置へ通知されるまで、一時的にコマンド・バッファ406内にバッファされる。バッファされた複数のコマンドは、それらのそれぞれの完了に際して、コマンド・バッファ406から別々に除去されることが出来る。
While waiting for the data associated with the command to be read or written to the LBA identified by the buffered host command, read and write commands from the host device are placed in the
本発明のいくつかの実施例は、DVR、デジタル・ビデオ・プレーヤおよび他のAVシステムが、ディスク・ドライブからデータを読取る必要に先立って、AVシステムにより決定できるLBAのシーケンスからデータを読取り可能であることの認識から起る。たとえば、あるAVシステムが映画を上映するようにコマンドされた時に、ディスク・ドライブ10からデータを読取るLBAシーケンスを決定して、少なくとも映画ビデオ・フレームの一部分をアセンブルするように構成できる。従って、AVシステムは、それらのLBAからデータを読取るように、ディスク・ドライブ10へ読取りコマンドを通知し始めるのに先立って、少なくとも定義されたLBAシーケンスの一部分をディスク・ドライブ10へ通知できる。代わりに、または付加的に、ディスク・ドライブ10は、時間をかけてLBAシーケンス・アクセス情報を観察し学習して、それによりLBAアクセス・シーケンス情報により識別される一つまたはそれ以上のLBAに対して、および/またはLBAアクセス・シーケンス情報により識別される他のLBA関連のものへ読取りコマンドを受信するのに応答して、どのLBAへアクセスする必要があるか(たとえば、LBAアクセス・シーケンス情報により識別されるビデオ・フレーム・データに先立つビデオ・フレーム・データを収容するLBAに対する読取りコマンドを受信すること)を予想することができる。ディスク・ドライブ10は、LBAアクセス・シーケンス情報により識別されるLBAからのデータをフェッチし始めて、AVシステムからの関連する読取りコマンドの受信を準備することが出来る。
Some embodiments of the present invention allow DVRs, digital video players and other AV systems to read data from a sequence of LBAs that can be determined by the AV system prior to needing to read the data from the disk drive. It arises from the recognition of being. For example, when an AV system is commanded to play a movie, it can be configured to determine an LBA sequence to read data from the
関連する読取りコマンドの受信に先立って、LBAアクセス・シーケンスからのデータの少なくともいくつかをフェッチすることが出来るので、LBAアクセス・シーケンス情報の受信とこのLBAアクセス・シーケンス情報により識別されるLBAへ向けられた読取りコマンドの受信の間に、追加的な時間を使用するようにディスク・ドライブ10を構成して、ピークおよび/または平均のデータ・スループット、起り得る音響雑音、熱の発生、ピークおよび/または平均の電力消費、および/またはデータ保全上の制約を満足する方法により、読取り動作を遂行することが出来る。たとえば、ディスク・ドライブ10は、この追加的な時間を使用してLBSアクセス・シーケンスの遂行における順序を入れ替えて、それにより複数のアクセスの間のシーク時間を最小化するように(たとえば、増加する/減少する数順でLBAにアクセスするシーケンスの順序を変える)、LBAにアクセスすることが出来る。
Prior to receipt of the associated read command, at least some of the data from the LBA access sequence can be fetched so that the LBA access sequence information is received and directed to the LBA identified by this LBA access sequence information.
本発明のいくつかの実施例によれば、LBAシーケンス・アソシエーション・テーブル408内の一つまたはそれ以上のアクセス・シーケンスについての情報を記憶するように、データ・コントローラ400を構成できる。LBAアクセス・シーケンス情報は、ホスト装置により定義されて、ディスク・ドライブ10へ通知される。ホスト装置からLBAアクセス・シーケンス情報を受信するのに応答して、ディスク・ドライブ10はディスクLBAからフェッチ・バッファ410へデータ読込みを開始するが、ディスクLBAはLBAアクセス・シーケンス情報により識別される。あるホスト読取りコマンドが受信されると、それはフェッチ・バッファ410へ検索済みの一つまたはそれ以上のLBAからのデータへ向けられ、そのデータは、フェッチ・バッファ410からコマンド・バッファ406へ移動されることができ、読取りコマンドに応答するホスト装置へ通知される。LBAアクセス・シーケンス情報は、どのLBAがホスト装置により引き続きアクセスされるかについて、ディスク・ドライブ10へ早期通知を提供するので、データ・コントローラ400は、LBAアクセス・シーケンス情報により識別されるディスクLBAからそれをフェッチすることが出来るようにさらに構成でき、それによりピークおよび/または平均のデータ・スループット、音響雑音、ディスク・ドライブ10の一つまたはそれ以上の構成要素により発生され得る熱、ピークおよび/または平均のディスク・ドライブ10による電力消費、および/またはデータ・エラー回復処理についての制約を満足するようにできる。たとえば、データ・コントローラ400は、(騒音、熱、および/または電力消費を減少させるために)アクチュエータ・アーム・アセンブリ18の加速/減速を少なくさせる速度プロファイルを用いて動作をサーボ・コントローラ402にシークせて、および/または一層堅固なエラー回復処理を使用することにより、ホスト読取りコマンドの時間的制約で応答するときに、データ・コントローラ400および/またはサーボ・コントローラ402により使用される他の場合よりも、検出に際してデータ・エラーを訂正するために、ディスク34からより多くの再読取りの試みを遂行する。
According to some embodiments of the present invention, the
いくつかの実施例において、テーブル408内のLBAアクセス・シーケンス情報は、隣接するディスクLBAのグループを定義し、またホスト装置によりグループがアクセスされると、期待される相対的順序を定義する。たとえば、テーブル408は、一つまたはそれ以上のLBAのグループのシーケンスを定義し、そこで各グループは、開始LBA、グループ内で開始LBAに連続的に続くある数のLBA、開始LBAに関連するI/Oアクセスのタイプ(たとえば、LBSはグループ内で逐次的にアクセスされる、LBAは各アクセスの間でLBAの定義された数をジャンプすることによりアクセスされる)を定義する。たとえば、LBA10から開始する映画セグメントを読取り、次の90個のLBA読取りを継続し、50個のLBAをジャンプし、次の100個のLBAを読取り、250個のLBAをジャンプし、次の200個のLBAを読取り、4300個のLBAをジャンプし、次の4000個LBAを読取る(LBA10−100、150−250、500−700、5000−9000を読取ることに対応する。)ことを識別するシーケンス・アクセス情報を、ホストがディスク・ドライブ10へ通知する。
In some embodiments, the LBA access sequence information in table 408 defines a group of adjacent disk LBAs and defines the relative order expected when the group is accessed by the host device. For example, table 408 defines a sequence of one or more groups of LBAs, where each group is a starting LBA, a number of LBAs consecutively following the starting LBA in the group, and the I associated with the starting LBA. Define the type of / O access (eg, LBS is accessed sequentially within a group, LBA is accessed by jumping a defined number of LBAs between each access). For example, read a movie segment starting at
図5のブロック図により、例示的なホスト装置500を図示する。ホスト装置500は、コントローラ510、アプリケーション522およびI/O LBAシーケンス情報524を含むメモリ520を含み、またI/Oアダプタ530を含む。I/Oアダプタ530は、たとえば、ATAバス、SATAバス、小型コンピュータ・システム・インターコネクト(SCSI)バス、ファイヤワイヤ(firewire)・バス、および/またはユニバーサル・シリアル・バス(USB)を通じて、ホスト装置500をディスク・ドライブ10へ連絡可能に結合するように構成できる。コントローラ510は、たとえば、放送メディア・ソース(たとえば、衛星、地上、ケーブル、および/またはインターネットのTVソース)、双方向テレビ・ゲーム、ブロードバンド・インターネットAVサービス、および/またはディスク・ドライブ10のAV監視などのAVコンテンツを検索可能に記憶するAVシステムとして機能するように、アプリケーション522により構成されることが出来る。
An exemplary host device 500 is illustrated by the block diagram of FIG. The host device 500 includes a controller 510, an
コントローラ510は、さらにディスク・ドライブ10へ複数のAVコンテンツ・データ・ストリームを同時的に記憶し、および/またはそこから検索するのをサポートするように、構成できる。コントローラ510は、たとえば映画を上演するためにアクセスしているLBAシーケンスを定義するように、構成される。ファイル・データが記憶されているディスクLBAを識別するディスク・ドライブ10からのファイル(リンク)テーブルを読取ることにより、それはLBAシーケンスを定義する。それから、定義されたLBAシーケンスを、LBAアクセス・シーケンス情報としてディスク・ドライブ10へ送り返すが、それは、LBAアクセス・シーケンス情報により識別されるLBAへ宛てられたディスク・ドライブ10へ読取りコマンドを送信し始める以前に、ファイル・テーブルに情報を加えて、ディスク・ドライブ10へこのファイルを書き戻すなどして、行う。従って、上記のように識別されたLBAへ宛てられた緊急のホスト読取りコマンドを受信する準備において、ディスク・ドライブ10は、識別されたディスクLBAからデータをフェッチ・バッファ410へフェッチする。コントローラ510は、それらのLBAへ宛てられた読み書きコマンドを送信する前の所定量の時間に、ディスク・ドライブ10へアクセス・シーケンス情報を通知して、フェッチ・バッファ410に対して、LBAにより識別されたデータの少なくともいくつかまたは全部をフェッチするのに十分な時間を、ディスク・ドライブ10が得られるようにする。コントローラ510が、LBAアクセス・シーケンス情報をディスク・ドライブ10へ通知する時と、それが識別された情報から読取りを開始する時との間の時間の量は、フェッチ・バッファ410内に記憶されるデータの量に基づいて選択され得る。たとえば、ディスク・ドライブ10がシーケンス情報を受信するのとそこへ読取りコマンドを受信するのとの間の数秒(たとえば、2−5秒)ないし数分までが可能なように、この時間を選択することができる。
The controller 510 can be further configured to support simultaneous storage and / or retrieval of multiple AV content data streams to the
図4と図5を参照すると、例示的な実施例によりホスト装置500は、DVRであり得る。あるエンド・ユーザは、ホスト装置500に命令して、ディスク・ドライブ10に記録された映画の上演を開始出来る。コントローラ510がディスク・ドライブ10からファイル・テーブルを読取って、それに基づいて第1LBAアクセス・シーケンスを発生させ、第1LBAアクセス・シーケンスはホスト装置500がデータを読取って、映画のためのAVフレームを発生させるLBAを指示する。コントローラ510は、LBAアクセス・シーケンス情報524の部分として、メモリ520内に第1LBAアクセス・シーケンス記憶し、この映画セグメントを再び上演する場合の後日の使用の時に、映画の少なくとも一部分をLBAアクセス・シーケンス情報524に結合できる。コントローラ510が、I/Oアダプタ530を通じて、ディスク・ドライブ10へ第1LBAアクセス・シーケンスを通知する。データ・コントローラ400が、第1LBAアクセス・シーケンスをテーブル408内に記憶し、第1LBAアクセス・シーケンスにより識別されたディスクLBAからデータをフェッチして、データ・フェッチ・バッファ410へ入れ、そしてホスト装置500からの個別の読取りコマンドに応答して、関連するデータをデータ・フェッチ・バッファ410からコマンド・バッファ406へコピーし、またこのデータを上述の実施例のようにホスト・コントローラへ通知する。ホスト・コントローラ510は、データに基づいてAVフレームをアセンブルして、第1LBAアクセス・シーケンス内のLBAへ向けられたディスク・ドライブ10へ、読取りコマンドをさらに通知する。ホスト・コントローラ510は、ディスク・ドライブ10に対して、さらなるLBAアクセス・シーケンスを発生し通知することができ、それによりホスト装置500が後続のデータ・ストリームを発生させてその映画の後続のAVフレームを発生させるのに使用する時に、ディスク・ドライブ10がさらにコマンドを読取る準備をさせることが出来る。
4 and 5, according to an exemplary embodiment, the host device 500 may be a DVR. An end user can instruct the host device 500 to start a movie recorded on the
ホスト装置500が映画を上演している間に、エンド・ユーザは、もう一つの映画上演を開始するようにコマンドできる。コントローラ510がディスク・ドライブ10からファイル・テーブルを読取り、少なくとも映画データの一部分を読取れるLBAを識別する第2のLBAアクセス・シーケンスを発生する。コントローラ510は、I/Oアダプタ530を通じてディスク・ドライブ10へ第2のLBAアクセス・シーケンスを通知する。データ・コントローラ400は、テーブル408内に第2のLBAアクセス・シーケンスを記憶して、データを識別されたLBAからデータ・フェッチ・バッファ410へ読み込む。データ・コンローラ400が、付加的または代わりに第2LBAアクセス・シーケンスで識別されたLBA使用して、第1LBAアクセス・シーケンスおよび/または第2アクセス・シーケンスにより識別されたフェッチ中のデータに関連する読取り作業を再構成または優先化して、それにより、スループットの要求、音響雑音の制約、熱発生の制約、電力消費の制約および/またはデータ・エラー回復処理の制約を満足するように試みる。
While the host device 500 is performing a movie, the end user can command to start another movie performance. Controller 510 reads the file table from
上述のように、本発明のいくつかの実施例において、ホスト装置がアクセスするであろうLBAシーケンスを定義し、そのシーケンスをディスク・ドライブ10へ通知する。いくつかの他の実施例によれば、ディスク・ドライブ10は、LBAアクセス・シーケンス自体を決定するように構成され得る。たとえば、データ・コントローラ400は、逐次的に検索されるLBAのパターンを観察し、学習するように構成されることができ、また学習したLBAシーケンスをテーブル408内に記憶することができる。データ・コントローラ400は、たとえばデータ・ストリームの読取りに関連するように見える読取りコマンド(たとえばAVデータ・ストリームをプレーバックすること)を記録することができる。データ・コントローラ400は、そのとき、たとえばバッファされた読取りコマンドの目標とするLBAが定義されたLBAアクセス・シーケンス内にある時を決定することにより、または定義されたLBAアクセス・シーケンス内のデータにアクセスするのに先立った時間に近接してアクセスされることが目標とするLBAについて観察された時を決定することにより、テーブル408内に定義されたLBAアクセス・シーケンスに対して、ホスト・デバイスからの読取りコマンドが関連する時を決定することが出来る。バッファされた読取りコマンドが定義されたLBAアクセス・シーケンスに関連していると決定することに応答して、データ・コントローラ400は、定義されたLBAアクセス・シーケンスからフェッチ・バッファ410へデータをフェッチして、上述のようにそこからのデータについての後続のホスト・コマンドを準備する。
As described above, in some embodiments of the present invention, an LBA sequence that the host device will access is defined and the sequence is notified to the
いくつかのさらなる実施例において、ホスト500はLBAアクセス・シーケンス情報内に定義されたデータ転送速度を含み、それにより、ディスク・ドライブ10に命令して、一連のホスト読取りコマンドを通じて識別されたLBAから読取る。代わりにまたは追加的に、ディスク・ドライブ10がコントローラ400を介して、テーブル408内のLBAアクセス・シーケンスに関連するデータ速度をそこから観察し、定義するように構成できる。そのとき、コントローラ400は既知のデータ速度を使用して、関連するLBAシーケンスからどのようにデータを読取るかを調節する。たとえば、通常の解像度の映画に関連する第1LBAシーケンスは、7Mビット/秒の定義され学習されたデータ転送速度を有するが、一方高解像度映画に関連する第2のLBAシーケンスは、19Mビット/秒の定義され学習されたデータ転送速度を有し得る。これら既知のデータ転送速度に基づいて、コントローラ400は、第1LBAシーケンスについてするのによりも関連読取りコマンドをさらに先立って、データ・フェッチ・バッファ410内の第2LBAシーケンスから一層多くのデータを読取るであろう。したがって、それによりコントローラ400は、関連するホスト読取りコマンドに先立ってバッファ410内へどのように多くのデータを読取るか変化させることにより、LBAシーケンス既知のデータ転送速度へ適応する。
In some further embodiments, host 500 includes a data transfer rate defined in the LBA access sequence information, thereby instructing
フェッチ・バッファ410は、例えばダイナミック・ランダム・アクセス・メモリ(DRAM)および/またはスタティックRAMなどの集積回路を含む。しかしながら、他のいくつかの実施例においては、フェッチ・バッファ410はディスク34上に一時記憶場所を含む。例えば、データ・コントローラ400は、ホスト装置からの後続の読取りコマンドについて準備するために、LBAアクセス・シーケンスにより識別されたLBAからディスク34の一時記憶場所へ、データをコピーする。この一時記憶場所は、隣接するディスクLBAを含む。従って、LBAアクセス・シーケンスがディスク34上の隣接していないLBAに対応していて、ディスク34上に広く分散していても、アドレスされたデータは、ディスク34上の一時記憶場所で隣接してコピーされる。データ・コントローラ400は、それから引き続いて隣接LBAからデータを読み戻すが、遠いトラックとLBAの間のシーク動作に関する遅延をもたらす元の隣接していないLBAから読まれる場合よりも、一層迅速に行われる。
The fetch
図6は、本発明のいくつかの実施例により、LBAアクセス・シーケンス情報により識別されるLBAへ関連の読取りコマンドを送信する以前に、LBAアクセス・シーケンス情報を発生させて、その情報をディスク・ドライブ10へ通知するために、ホスト装置500が遂行する作業のフローチャートである。ブロック600で、ホスト装置500はディスク・ドライブ10からファイル・テーブルを読取る。それからブロック602で、それはファイル・テーブルに基づいてLBAアクセス・シーケンス情報を発生する。ブロック604で、ホスト装置500はLBAアクセス・シーケンス情報をディスク・ドライブ10へ通知して、LBAアクセス・シーケンス情報により識別されたLBAへ向けられたディスク・ドライブへ、引き続き読取りコマンドを通知する。
FIG. 6 illustrates, in accordance with some embodiments of the present invention, generating LBA access sequence information prior to sending the associated read command to the LBA identified by the LBA access sequence information and storing the information on the disk. 4 is a flowchart of work performed by the host device 500 to notify the
図7は、本発明のいくつかの実施例により、ホスト装置500からのLBAアクセス・シーケンス情報および関連の読取りコマンドに応答するために、ディスク・ドライブ10が遂行する作業のフローチャートである。ブロック700で、ホスト装置500から、LBAアクセス・シーケンス情報が、ディスク・ドライブ10により検索される。ブロック702で、ディスク・ドライブ10は、LBAアクセス・シーケンス情報により識別されるディスク34上のLBAから、データを読取る。ブロック704で、このデータがデータ・フェッチ・バッファ410へ記憶される。ブロック706で、LBAアクセス・シーケンス情報により識別されるディスクLBAにおけるデータへ向けられたホスト読取りコマンドの受信に応答して、ブロック708で、ディスク・ドライブ10がこの読取りコマンドに関連するデータを、データ・フェッチ・バッファ410からホスト装置500へ通知する。それからブロック710で、LBAアクセス・シーケンス情報により識別された全てのデータがホスト装置500に読込まれてしまったかどうかについての決定がなされ、もしそうでなければ、作業のループはブロック706へ戻って、さらなるホスト読取りコマンドおよび/またはリフレッシュ・タイマーの時間切れを待つ。
FIG. 7 is a flowchart of operations performed by the
図面および説明において、本発明の典型的な好ましい実施例を開示してきたし、また特定の用語を使用したが、それらは一般的な説明的な意味においてのみ使用され、添付の特許請求の範囲に提示される本発明の範囲を限定するのが目的ではない。 In the drawings and description, there have been disclosed exemplary preferred embodiments of the invention and specific terminology has been used, but they are used in a general descriptive sense only and are within the scope of the appended claims. It is not intended to limit the scope of the invention presented.
(関連出願)
本出願は、本書にその開示の全体が参考文献として組み込まれている米国仮特許出願No.60/687,932、西暦2005年6月7日出願の利益と優先権を主張する。
(Related application)
This application is a tentative provisional application of US provisional patent application no. Claims the benefit and priority of 60 / 687,932, filed June 7, 2005 AD.
10 ディスク・ドライブ
12 ディスク・スタック
14 スピンドル・モータ
16 ベース・プレート
18 アクチュエータ・アーム・アセンブリ
20 ヘッド(トランスデューサ)
22 フレクシャ・アーム
24 アクチュエータ・アーム
26 ピボット・ベアリング・アセンブリ
28 アクチュエータ・モータ
30 電子回路
32 プリント回路板
34 ディスク
36 ディスク表面
38 軸
10
22
Claims (28)
データ記憶媒体と、
前記データ記憶媒体上の論理ブロック・アドレス(LBA)に記憶されたデータを読取るように構成されたヘッドと、
データを記憶するように構成されたデータ・フェッチ・バッファと、
ホスト装置がアクセスするLBAのシーケンスを識別する前記データ記憶装置内のLBAアクセス・シーケンス情報により識別される前記データ記憶媒体上のLBAから前記ヘッドを通じてデータを読取って、前記読取られたデータを前記データ・フェッチ・バッファに記憶し、そして、前記LBAアクセス・シーケンス情報により識別される前記データ記憶媒体のLBAにおけるデータへ向けられた前記ホスト装置からの読取りコマンドであって、前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンドに関連する前記データを通知することにより前記データ・フェッチ・バッファに読込み済みである前記読取りコマンドに応答するように構成されたコントローラと、
を含む前記データ記憶装置。 A data storage device,
A data storage medium;
A head configured to read data stored at a logical block address (LBA) on the data storage medium;
A data fetch buffer configured to store data;
Data is read through the head from the LBA on the data storage medium identified by the LBA access sequence information in the data storage device that identifies the LBA sequence accessed by the host device, and the read data is converted into the data A read command from the host device that is stored in a fetch buffer and directed to data in an LBA of the data storage medium identified by the LBA access sequence information, from the data fetch buffer A controller configured to respond to the read command that has been read into the data fetch buffer by notifying the host device of the data associated with the read command;
The data storage device comprising:
前記ヘッドが前記ディスク上のLBAに記憶されたデータを読取るように構成され、
前記コントローラは、ホスト装置がアクセスするLBAのシーケンスを識別する前記データ記憶装置内のLBAアクセス・シーケンス情報により識別される前記ディスク上のLBAから前記ヘッドを通じてデータを読取って、前記読取られたデータを前記データ・フェッチ・バッファに記憶し、そして、前記LBAアクセス・シーケンス情報により識別される前記データ記憶媒体のLBAにおけるデータへ向けられた前記ホスト装置からの読取りコマンドであって、前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンドに関連する前記データを通知することにより前記データ・フェッチ・バッファに読込み済みである前記読取りコマンドに応答するように構成された、請求項1記載のデータ記憶装置。 The data storage medium includes a rotatable data storage disk;
The head is configured to read data stored in an LBA on the disk;
The controller reads data from the LBA on the disk identified by the LBA access sequence information in the data storage device identifying the LBA sequence accessed by the host device through the head, and reads the read data. A read command from the host device stored in the data fetch buffer and directed to data in an LBA of the data storage medium identified by the LBA access sequence information, the data fetch buffer; The data storage device of claim 1, wherein the data storage device is configured to respond to the read command that has been read into the data fetch buffer by notifying the host device of the data associated with the read command. .
前記ホスト装置がアクセスするデータ記憶装置内の前記媒体上のデータ記憶位置の複数の論理ブロック・アドレス(LBA)のシーケンスを定義することをホスト装置により実行されるように構成されたコンピュータ・プログラム・コードと、
前記LBAの定義されたシーケンスをLBAアクセス・シーケンス情報として、前記ホスト装置から前記データ記憶装置へ通知することを前記ホスト装置により実行されるように構成されたコンピュータ・プログラム・コードと、
前記LBAアクセス・シーケンス情報を前記データ記憶装置へ通知した後に前記LBAアクセス・シーケンス情報により識別されるLBAからデータを読取るように読取りコマンドを前記データ記憶装置へ通知することを前記ホスト装置により実行されるように構成されたコンピュータ・プログラム・コードと、
を含む前記コンピュータ・プログラム製品。 A computer program product for reading a data storage location on a data storage medium in a data storage device, said computer program product comprising computer program code embodied in a computer readable storage medium, said computer program product The program code is
A computer program configured to be executed by a host device to define a sequence of a plurality of logical block addresses (LBA) of data storage locations on the medium in a data storage device accessed by the host device. Code,
Computer program code configured to be executed by the host device to notify the data storage device from the host device as LBA access sequence information as a sequence defined by the LBA;
After the LBA access sequence information is notified to the data storage device, the host device executes a read command to the data storage device so as to read data from the LBA identified by the LBA access sequence information. Computer program code configured to, and
A computer program product comprising:
前記ホスト装置がそこからデータを読取るデータ記憶装置内の媒体上のデータ記憶位置の複数の論理ブロック・アドレス(LBA)のシーケンスを定義することと、
前記ホスト装置から前記データ記憶装置へLBAアクセス・シーケンス情報として前記LBAの定義されたシーケンスを通知することと、
前記LBAアクセス・シーケンス情報により識別される前記媒体上のLBAからデータを読取ることと、
前記データ記憶装置内のデータ・フェッチ・バッファ内の前記LBAアクセス・シーケンス情報により識別される前記媒体上のLBAから読取られた前記データを記憶することと、
前記ホスト装置から前記データ記憶装置へ前記LBAアクセス・シーケンス情報を通知した後に、前記LBAアクセス・シーケンス情報により識別される1つの媒体LBAへ記憶されたデータへ向けられたデータ記憶装置へ、前記ホスト装置から読取りコマンドを通知することと、
前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンドに関連する前記データを通知することにより前記読取りに応答することと、
を含む前記方法。 A method for a host device for reading a data storage location on a data storage medium in a data storage device, comprising:
Defining a sequence of logical block addresses (LBA) of data storage locations on a medium in a data storage device from which the host device reads data;
Notifying the LBA defined sequence as LBA access sequence information from the host device to the data storage device;
Reading data from the LBA on the medium identified by the LBA access sequence information;
Storing the data read from the LBA on the medium identified by the LBA access sequence information in a data fetch buffer in the data storage device;
After notifying the LBA access sequence information from the host device to the data storage device, the host sends the data storage device directed to the data stored in one medium LBA identified by the LBA access sequence information. Sending a read command from the device;
Responding to the read by notifying the host device of the data associated with the read command from the data fetch buffer;
Including said method.
どの媒体LBAにデータが記憶されるかを識別するデータ記憶装置から前記ホスト装置へ1つのファイル・テーブルを読込むことと、
前記ファイル・テーブルに基づいて前記ホスト装置によって、前記データ記憶装置へ通知される前記LBAアクセス・シーケンス情報を発生させることと、
を含む請求項24記載の方法。 Defining a sequence of logical block addresses (LBS) of data storage locations on the medium of the data storage device from which the host device reads data;
Reading one file table from the data storage device to the host device for identifying in which medium LBA the data is stored;
Generating the LBA access sequence information notified to the data storage device by the host device based on the file table;
25. The method of claim 24, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007032331A JP2008198282A (en) | 2007-02-13 | 2007-02-13 | Storage device fetching data in response to host access stream recognition |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007032331A JP2008198282A (en) | 2007-02-13 | 2007-02-13 | Storage device fetching data in response to host access stream recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008198282A true JP2008198282A (en) | 2008-08-28 |
Family
ID=39757073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007032331A Pending JP2008198282A (en) | 2007-02-13 | 2007-02-13 | Storage device fetching data in response to host access stream recognition |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008198282A (en) |
-
2007
- 2007-02-13 JP JP2007032331A patent/JP2008198282A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5261072A (en) | Compact disk data transfer system using cache memory | |
US6690882B1 (en) | Method of operating a disk drive for reading and writing audiovisual data on an urgent basis | |
US6523142B1 (en) | Apparatus and method of performing in a disk drive commands issued from a host system | |
US20100202078A1 (en) | Read/write processing method for medium recording device and medium recording device | |
US7676140B2 (en) | Recording apparatus | |
US20050105885A1 (en) | Method for variably controlling data read speed in optical disc drive | |
US8117491B2 (en) | Disk-drive device and method for error recovery thereof | |
US20070143536A1 (en) | Storage device that pre-fetches data responsive to host access stream awareness | |
US6353510B2 (en) | Disk speed profile method and device | |
JP4858926B2 (en) | Medium storage device read / write processing method and medium storage device | |
US20010010605A1 (en) | Read/write control system for a disk drive | |
US20050015648A1 (en) | Disk storage apparatus capable of concurrently processing data streams | |
US20010043424A1 (en) | Servo skewing for track skew | |
JP2007250054A (en) | Information recording method, write control circuit, and information storage device | |
JP2008198282A (en) | Storage device fetching data in response to host access stream recognition | |
US6104568A (en) | Servo-burst gray code pattern | |
JP3983962B2 (en) | Data reading apparatus, magnetic recording / reproducing apparatus, data reproducing system, and data output method | |
KR20070081783A (en) | Storage device that pre-fetches data responsive to host access stream awareness | |
US20070113166A1 (en) | Method of authoring audiovisual content, audiovisual product, method of producing audiovisual product and apparatus | |
US8285119B2 (en) | Method for playing digital videos, a method for reading data and a method for smoothly playing pictures | |
CN1652234A (en) | Recording/reproducing apparatus | |
JP2008299978A (en) | Disk drive device and data reproducing method from disk | |
WO2015064306A1 (en) | Recording medium, play device, and play method | |
JP3381720B2 (en) | Disc player and disc | |
JP3977611B2 (en) | Disk storage device and sector replacement processing method in the same device |