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 PDF

Info

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
Application number
JP2007032331A
Other languages
Japanese (ja)
Inventor
Jasbir Sidhu
シドウー ジャスビアー
Andrew Vogan
ヴォーガン アンドリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Priority to JP2007032331A priority Critical patent/JP2008198282A/en
Publication of JP2008198282A publication Critical patent/JP2008198282A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To obtain sufficiently high data throughput from a data storage device. <P>SOLUTION: The data storage device comprises a data storage medium, a head, a data fetch buffer, and a controller. The head is constituted so as to read data stored in a logic block address (LBA) on the medium. The controller reads data through the head from the LBA on the medium discriminated by LBA access sequence information in the data storage device discriminating sequence of the LBA accessed by a host device and stores it in the data fetch buffer. Also, the controller responds to a read command from the host device toward data in the LBA of the medium discriminated by the LBA access sequence information and being already read in the data fetch buffer by informing data relating to the command read in the host device from the data fetch buffer. <P>COPYRIGHT: (C)2008,JPO&INPIT

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 disk drive 10 includes one or more disks disposed in a disk stack 12 that is rotated by a spindle motor 14. The spindle motor 14 is attached to the base plate 16. An actuator arm assembly 18 is also attached to the base plate 16. The disk drive 10 is configured to store and retrieve data in response to read / write commands from the host device. The host device is communicatively coupled to a desktop computer, laptop computer, personal digital assistant (PDA), digital video recorder / player, digital music recorder / player and / or disk drive 10 for data transmission. This includes, but is not limited to, other electronic devices that can be stored and retrieved.

アクチュエータ・アーム・アセンブリ18は、フレクシャ・アーム22へ装着されたヘッド20(またはトランスデューサ)を含み、フレクシャ・アーム22は、ピボッド・ベアリング・アセンブリ26の周りを回転できるアクチュエータ・アーム24へ取付けられている。ヘッド20は、たとえば磁気抵抗(MR)素子および/または薄膜誘導(TFI)素子を含む。アクチュエータ・モータ28(たとえばボイス・コイル・モータ(VCM))が、アクチュエータ・アーム・アセンブリ18を回転させて、ヘッド20をディスク・スタック12に対して半径方向に移動させる。スピンドル・モータ14およびアクチュエータ・アーム・アセンブリ18は、コントローラ、読み書きチャネル回路、およびプリント回路板(PCB)32へ装着された一つまたはそれ以上の集積回路パッケージ内に封入できる他の関連電子回路30へ結合されている。電子回路30は、アナログおよび/またはデジタルの回路を含み、典型的にデジタル信号プロセッサ(DSP)、マイクロ・プロセッサ・ベースのコントローラおよびメモリ装置を含む。電子回路30は、さらに後述する本発明の種々の実施例に従って構成され得る。   The actuator arm assembly 18 includes a head 20 (or transducer) attached to a flexure arm 22 that is attached to an actuator arm 24 that can rotate about a pivot bearing assembly 26. Yes. The head 20 includes, for example, a magnetoresistive (MR) element and / or a thin film inductive (TFI) element. An actuator motor 28 (eg, a voice coil motor (VCM)) rotates the actuator arm assembly 18 to move the head 20 radially relative to the disk stack 12. Spindle motor 14 and actuator arm assembly 18 include a controller, read / write channel circuitry, and other associated electronic circuitry 30 that can be enclosed in one or more integrated circuit packages mounted to a printed circuit board (PCB) 32. Is bound to The electronic circuit 30 includes analog and / or digital circuits and typically includes a digital signal processor (DSP), a microprocessor-based controller, and a memory device. The electronic circuit 30 may be further configured according to various embodiments of the present invention described below.

さて図2を参照すると、ディスク・スタック12は典型的に複数のディスク34を含み、その各々は一対のディスク表面36、36を有する。ディスク34は円筒形シャフト上に装着されて、スピンドル・モータ14を介して軸38の周囲を回転するように構成されている。ディスク34は、説明のために磁気ディスクとして説明されるが、それらは代わりに光ディスクまたはいずれか他のタイプのデータ記憶ディスクであり得る。   Referring now to FIG. 2, the disk stack 12 typically includes a plurality of disks 34, each having a pair of disk surfaces 36,36. The disk 34 is mounted on a cylindrical shaft and is configured to rotate about a shaft 38 via the spindle motor 14. Although the disks 34 are described as magnetic disks for purposes of explanation, they can alternatively be optical disks or any other type of data storage disk.

さて図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 actuator arm assembly 18 includes a plurality of heads 20, each of which is adjacent to a different one of the disk surfaces 36. Each head 20 is attached to a corresponding flexure arm 22 attached to a corresponding portion of the actuator arm 24, and the actuator arm 24 can rotate about a pivot bearing assembly 26. Actuator motor 28 operates to move actuator arm 24, thus moving head 20 radially with respect to their respective disk surfaces 36.

図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 electronic circuit 30 includes a data controller 400, a servo controller 402, a read / write channel 404, a host command buffer 406, an LBS sequence association table 408, and pre-host input / output (I / O). A command data fetch buffer 410 is included. Although an exemplary embodiment of the electronic circuit 30 is illustrated with two separate controllers 400, 402, a read / write channel 404, and three separate memory devices 406, 408, 410, these are for illustration and discussion only. It is. It should be understood that the functions described herein for one or more controllers 400, 402, read / write channel 404, and / or devices 406, 408, 410 may be integrated into one integrated circuit, or two or more. It can be distributed among other integrated circuit packages. Head disk assembly (HDA) 420 may include actuator arm assembly 18, disk stack 12, actuator motor 28 and spindle motor 14.

読み書きチャネル404は、通常の方法で動作して、データ・コントローラ400により使用されるデジタル形式とHDA420内のヘッド20を通じて実行されるアナログ形式の間で、データを変換できる。読み書きチャネル404は、HDA420内のディスク34から読取ったサーボ位置情報を、サーボ・コントローラ402へ供給する。このサーボ位置情報は、ディスク34上のトラックに沿った論理ブロック・アドレス(LBA)に関するヘッド20の位置を検出するのに使用できる。サーボ・コントローラ402は、データ・コントローラ400からのLBAとサーボ位置情報を使用して、ディスク表面36の一つのターゲット・トラック上のLBAへヘッド20をシークし、またデータがLBA上で読取られ/書込まれている間に、ヘッド20をターゲット・トラックと整列させて維持することが出来る。   Read / write channel 404 operates in the normal manner to convert data between the digital format used by data controller 400 and the analog format executed through head 20 in HDA 420. The read / write channel 404 supplies servo position information read from the disk 34 in the HDA 420 to the servo controller 402. This servo position information can be used to detect the position of the head 20 with respect to a logical block address (LBA) along a track on the disk 34. The servo controller 402 uses the LBA and servo position information from the data controller 400 to seek the head 20 to the LBA on one target track on the disk surface 36, and the data is read / read on the LBA. While being written, the head 20 can be maintained in alignment with the target track.

バッファされたホスト・コマンドにより識別された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 command buffer 406. Temporarily buffered. The data controller 400 executes buffered write commands by formatting the relevant information into blocks with appropriate header information, and the formatted data from the command buffer 406 via the read / write channel 404. It is configured to transfer to the LBA on the disk 34 identified by the buffer write command. Similarly, buffered read commands from the host device are temporarily stored in the command buffer 406 until data is retrieved from the LBA on the disk 34 identified by the buffered read command and notified to the host device. Buffered. The buffered commands can be removed from the command buffer 406 separately upon their respective completion.

本発明のいくつかの実施例は、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 disk drive 10 and assemble at least a portion of the movie video frame. Thus, the AV system can notify the disk drive 10 of at least a portion of the defined LBA sequence prior to beginning to notify the disk drive 10 of a read command to read data from those LBAs. Alternatively or additionally, the disk drive 10 observes and learns the LBA sequence access information over time, thereby for one or more LBAs identified by the LBA access sequence information. And / or in response to receiving a read command to other LBA-related things identified by the LBA access sequence information, which LBA needs to be accessed (eg, by LBA access sequence information) Receiving a read command for the LBA containing the video frame data prior to the identified video frame data. The disk drive 10 can begin fetching data from the LBA identified by the LBA access sequence information and prepare to receive an associated read command from the AV system.

関連する読取りコマンドの受信に先立って、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. Disk drive 10 is configured to use additional time during receipt of a read command issued to provide peak and / or average data throughput, possible acoustic noise, heat generation, peak and / or Alternatively, the read operation can be performed in a manner that satisfies average power consumption and / or data integrity constraints. For example, the disk drive 10 uses this additional time to reverse the order in performing the LBS access sequence, thereby minimizing (eg, increasing seek time between multiple accesses). (The order of the sequence for accessing the LBA is changed in order of decreasing number), and the LBA can be accessed.

本発明のいくつかの実施例によれば、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 data controller 400 can be configured to store information about one or more access sequences in the LBA sequence association table 408. The LBA access sequence information is defined by the host device and notified to the disk drive 10. In response to receiving the LBA access sequence information from the host device, the disk drive 10 starts reading data from the disk LBA to the fetch buffer 410, and the disk LBA is identified by the LBA access sequence information. When a host read command is received, it is directed to data from one or more LBAs that have been searched into fetch buffer 410, and the data is moved from fetch buffer 410 to command buffer 406. To the host device that responds to the read command. The LBA access sequence information provides an early notification to the disk drive 10 as to which LBA is subsequently accessed by the host device, so that the data controller 400 can start from the disk LBA identified by the LBA access sequence information. It can be further configured to be fetched so that peak and / or average data throughput, acoustic noise, heat that can be generated by one or more components of the disk drive 10, peak and / or Alternatively, constraints on power consumption by the average disk drive 10 and / or data error recovery process can be satisfied. For example, the data controller 400 seeks operation to the servo controller 402 using a velocity profile that reduces acceleration / deceleration of the actuator arm assembly 18 (to reduce noise, heat, and / or power consumption). And / or by using more robust error recovery processing than when used by the data controller 400 and / or servo controller 402 when responding to host read command time constraints. Again, more reread attempts are made from disk 34 to correct data errors upon detection.

いくつかの実施例において、テーブル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 LBA 10, continue with the next 90 LBA reads, jump 50 LBAs, read the next 100 LBAs, jump 250 LBAs, and the next 200 A sequence that identifies reading 4 LBAs, jumping 4300 LBAs, and reading the next 4000 LBAs (corresponding to reading LBAs 10-100, 150-250, 500-700, 5000-9000). The host notifies the disk drive 10 of access information.

図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 application 522, a memory 520 including I / O LBA sequence information 524, and an I / O adapter 530. The I / O adapter 530 is connected to the host device 500 through, for example, an ATA bus, a SATA bus, a small computer system interconnect (SCSI) bus, a firewire bus, and / or a universal serial bus (USB). Can be communicatively coupled to the disk drive 10. Controller 510 may be, for example, a broadcast media source (eg, satellite, terrestrial, cable, and / or internet TV source), interactive video game, broadband internet AV service, and / or AV monitoring of disk drive 10. The application 522 can be configured to function as an AV system that stores AV contents such as those that can be searched.

コントローラ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 disk drive 10. The controller 510 is configured to define an LBA sequence that is being accessed, for example, to perform a movie. By reading the file (link) table from the disk drive 10 identifying the disk LBA where the file data is stored, it defines the LBA sequence. The defined LBA sequence is then sent back to the disk drive 10 as LBA access sequence information, which begins to send a read command to the disk drive 10 addressed to the LBA identified by the LBA access sequence information. This is done by adding information to the file table and writing the file back to the disk drive 10 before. Accordingly, in preparation for receiving an urgent host read command addressed to the identified LBA as described above, the disk drive 10 fetches data from the identified disk LBA into the fetch buffer 410. The controller 510 notifies the disk drive 10 of access sequence information at a predetermined amount of time before sending the read / write command addressed to those LBAs, and is identified by the LBA to the fetch buffer 410. Allow enough time for the disk drive 10 to fetch at least some or all of the stored data. The amount of time between when the controller 510 notifies the disk drive 10 of LBA access sequence information and when it starts reading from the identified information is stored in the fetch buffer 410. It can be selected based on the amount of data. For example, this time is selected so that there can be a few seconds (eg, 2-5 seconds) to several minutes between when the disk drive 10 receives the sequence information and receives a read command thereto. be able to.

図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 disk drive 10. The controller 510 reads the file table from the disk drive 10 and generates a first LBA access sequence based on the file table. The first LBA access sequence reads the data from the host device 500 to generate an AV frame for the movie. Specify the LBA to be executed. The controller 510 stores the first LBA access sequence in the memory 520 as part of the LBA access sequence information 524, and at least a portion of the movie is stored in the LBA access sequence at a later use when performing this movie segment again. Information 524 can be combined. The controller 510 notifies the first LBA access sequence to the disk drive 10 through the I / O adapter 530. Data controller 400 stores the first LBA access sequence in table 408, fetches data from the disk LBA identified by the first LBA access sequence, puts it into data fetch buffer 410, and host device 500. In response to a separate read command from, the associated data is copied from the data fetch buffer 410 to the command buffer 406, and this data is communicated to the host controller as in the previous embodiment. The host controller 510 assembles the AV frame based on the data and further notifies the read command to the disk drive 10 directed to the LBA in the first LBA access sequence. The host controller 510 can generate and notify the disk drive 10 of further LBA access sequences, whereby the host device 500 generates a subsequent data stream so that subsequent AV frames of the movie The disk drive 10 can be further prepared to read commands when used to generate.

ホスト装置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 disk drive 10 and generates a second LBA access sequence that identifies LBAs from which at least a portion of the movie data can be read. The controller 510 notifies the disk drive 10 of the second LBA access sequence through the I / O adapter 530. Data controller 400 stores the second LBA access sequence in table 408 and reads the data from the identified LBA into data fetch buffer 410. The data controller 400 additionally or alternatively uses the LBA identified in the second LBA access sequence to read related to the data being fetched identified by the first LBA access sequence and / or the second access sequence Reconfigure or prioritize work, thereby attempting to satisfy throughput requirements, acoustic noise constraints, heat generation constraints, power consumption constraints, and / or data error recovery processing constraints.

上述のように、本発明のいくつかの実施例において、ホスト装置がアクセスするであろう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 disk drive 10. According to some other embodiments, disk drive 10 may be configured to determine the LBA access sequence itself. For example, the data controller 400 can be configured to observe and learn sequentially searched LBA patterns, and the learned LBA sequences can be stored in the table 408. The data controller 400 can record a read command (eg, playing back an AV data stream) that appears to be associated with reading the data stream, for example. The data controller 400 can then determine, for example, when the target LBA of a buffered read command is within a defined LBA access sequence or to data within a defined LBA access sequence. For the LBA access sequence defined in table 408, from the host device by determining when the target LBA is observed to be accessed in proximity to the time prior to access. It is possible to determine when a read command is relevant. In response to determining that the buffered read command is associated with a defined LBA access sequence, data controller 400 fetches data from the defined LBA access sequence to fetch buffer 410. To prepare subsequent host commands for data therefrom as described above.

いくつかのさらなる実施例において、ホスト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 disk drive 10 to identify the LBA identified through a series of host read commands. Read. Alternatively or additionally, the disk drive 10 can be configured to observe and define the data rate associated with the LBA access sequence in the table 408 via the controller 400 therefrom. Controller 400 then uses a known data rate to adjust how data is read from the associated LBA sequence. For example, a first LBA sequence associated with a normal resolution movie has a defined and learned data rate of 7 Mbit / sec, while a second LBA sequence associated with a high resolution movie is 19 Mbit / sec. Can have a defined and learned data rate. Based on these known data rates, the controller 400 will read more data from the second LBA sequence in the data fetch buffer 410 prior to the associated read command than for the first LBA sequence. Let's go. Thus, the controller 400 thus adapts to the LBA sequence known data rate by changing how much data is read into the buffer 410 prior to the associated host read command.

フェッチ・バッファ410は、例えばダイナミック・ランダム・アクセス・メモリ(DRAM)および/またはスタティックRAMなどの集積回路を含む。しかしながら、他のいくつかの実施例においては、フェッチ・バッファ410はディスク34上に一時記憶場所を含む。例えば、データ・コントローラ400は、ホスト装置からの後続の読取りコマンドについて準備するために、LBAアクセス・シーケンスにより識別されたLBAからディスク34の一時記憶場所へ、データをコピーする。この一時記憶場所は、隣接するディスクLBAを含む。従って、LBAアクセス・シーケンスがディスク34上の隣接していないLBAに対応していて、ディスク34上に広く分散していても、アドレスされたデータは、ディスク34上の一時記憶場所で隣接してコピーされる。データ・コントローラ400は、それから引き続いて隣接LBAからデータを読み戻すが、遠いトラックとLBAの間のシーク動作に関する遅延をもたらす元の隣接していないLBAから読まれる場合よりも、一層迅速に行われる。   The fetch buffer 410 includes integrated circuits such as dynamic random access memory (DRAM) and / or static RAM, for example. However, in some other embodiments, fetch buffer 410 includes a temporary storage location on disk 34. For example, the data controller 400 copies data from the LBA identified by the LBA access sequence to a temporary storage location on the disk 34 in preparation for a subsequent read command from the host device. This temporary storage location includes the adjacent disk LBA. Thus, even if the LBA access sequence corresponds to a non-adjacent LBA on disk 34 and is widely distributed on disk 34, the addressed data is adjacent in a temporary storage location on disk 34. Copied. Data controller 400 then continues to read back data from adjacent LBAs, but more quickly than if read from the original non-adjacent LBA, which introduces a delay with respect to seek operations between the far track and the LBA. .

図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 drive 10; At block 600, the host device 500 reads the file table from the disk drive 10. Then, at block 602, it generates LBA access sequence information based on the file table. At block 604, the host device 500 notifies the LBA access sequence information to the disk drive 10, and continues to notify the disk drive directed to the LBA identified by the LBA access sequence information.

図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 disk drive 10 to respond to LBA access sequence information and associated read commands from the host device 500, according to some embodiments of the present invention. In block 700, LBA access sequence information is retrieved by the disk drive 10 from the host device 500. At block 702, the disk drive 10 reads data from the LBA on the disk 34 identified by the LBA access sequence information. At block 704, this data is stored in the data fetch buffer 410. At block 706, in response to receiving a host read command directed to data at the disk LBA identified by the LBA access sequence information, at block 708 the disk drive 10 retrieves data associated with the read command with data Notification from the fetch buffer 410 to the host device 500 Then, at block 710, a determination is made as to whether all data identified by the LBA access sequence information has been read into the host device 500; otherwise, the work loop returns to block 706; Wait for further host read command and / or refresh timer expiration.

図面および説明において、本発明の典型的な好ましい実施例を開示してきたし、また特定の用語を使用したが、それらは一般的な説明的な意味においてのみ使用され、添付の特許請求の範囲に提示される本発明の範囲を限定するのが目的ではない。   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.

本発明のいくつかの実施例により構成される電子回路を有するディスク・ドライブの透視図である。1 is a perspective view of a disk drive having electronic circuitry constructed in accordance with some embodiments of the present invention. FIG. 複数のデータ記憶ディスクを有するディスク・スタックのブロック図である。FIG. 3 is a block diagram of a disk stack having a plurality of data storage disks. 複数のアクチュエータ・アームを有するアクチュエータ・アーム・アセンブリの一部分の透視図である。FIG. 5 is a perspective view of a portion of an actuator arm assembly having a plurality of actuator arms. 本発明のいくつかの実施例により構成される図1に示すディスク・ドライブの電子回路の一部分のブロック図である。FIG. 2 is a block diagram of a portion of the electronic circuitry of the disk drive shown in FIG. 1 configured in accordance with some embodiments of the present invention. 本発明のいくつかの実施例により構成されるホスト装置のブロック図である。FIG. 2 is a block diagram of a host device configured according to some embodiments of the present invention. 本発明のいくつかの実施例により、関連の読取りコマンドを送信する以前に、LBAアクセス・シーケンス情報を発生して、その情報を図1のディスク・ドライブへ通知するために、図5のホスト装置により遂行される作業のフローチャートである。In order to generate LBA access sequence information and notify the disk drive of FIG. 1 prior to sending the associated read command according to some embodiments of the present invention, the host device of FIG. FIG. 本発明のいくつかの実施例により、図5のホスト装置からのLBAアクセス・シーケンス情報および関連の読取りコマンドに応答するために、図1のディスク・ドライブが遂行する作業のフローチャート。FIG. 6 is a flowchart of operations performed by the disk drive of FIG. 1 to respond to LBA access sequence information and associated read commands from the host device of FIG. 5 in accordance with some embodiments of the present invention.

符号の説明Explanation of symbols

10 ディスク・ドライブ
12 ディスク・スタック
14 スピンドル・モータ
16 ベース・プレート
18 アクチュエータ・アーム・アセンブリ
20 ヘッド(トランスデューサ)
22 フレクシャ・アーム
24 アクチュエータ・アーム
26 ピボット・ベアリング・アセンブリ
28 アクチュエータ・モータ
30 電子回路
32 プリント回路板
34 ディスク
36 ディスク表面
38 軸
10 disk drive 12 disk stack 14 spindle motor 16 base plate 18 actuator arm assembly 20 head (transducer)
22 Flexure Arm 24 Actuator Arm 26 Pivot Bearing Assembly 28 Actuator Motor 30 Electronic Circuit 32 Printed Circuit Board 34 Disc 36 Disk Surface 38 Axis

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アクセス・シーケンス情報に応答して前記ディスクからデータを読取るときには、前記ホスト装置より受信された読取りコマンドに応答して前記ディスクからデータを読取るときに比較して、シーク作業中に一層低い値に加速および減速を制限するように構成された請求項2記載のデータ記憶装置。   When the controller reads data from the disk in response to the LBA access sequence information, the controller is performing a seek operation compared to when reading data from the disk in response to a read command received from the host device. The data storage device of claim 2, wherein the data storage device is configured to limit acceleration and deceleration to a lower value. 前記コントローラは、前記LBAアクセス・シーケンス情報により識別される前記LBAの順序を入れ替えて、前記識別されたLBAへ増加または減少する数の順にアクセスを遂行するように構成された請求項1記載のデータ記憶装置。   2. The data according to claim 1, wherein the controller is configured to perform access in order of increasing or decreasing numbers to the identified LBA by changing the order of the LBA identified by the LBA access sequence information. Storage device. 前記コントローラは、前記LBAアクセス・シーケンス情報により識別された前記媒体LBAの各々から前記データ・フェッチ・バッファへのデータの読込みの間で優先順位を付けて、それにより、前記LBAアクセス・シーケンス情報により識別された前記媒体LBAから前記データ読取られ得るスループットが増加するように構成された請求項1記載のデータ記憶装置。   The controller prioritizes reading of data from each of the media LBAs identified by the LBA access sequence information into the data fetch buffer, thereby providing the LBA access sequence information. The data storage device according to claim 1, wherein the data storage device is configured to increase a throughput at which the data can be read from the identified medium LBA. 前記コントローラは、前記LBAアクセス・シーケンス情報により識別された前記媒体LBAの各々から前記データ・フェッチ・バッファへのデータの読込みの間で優先順位を付けて、それにより、前記LBAアクセス・シーケンス情報により識別された前記媒体LBAからデータを読取る間にデータ記憶装置により発生される雑音を減少するように構成された請求項1記載のデータ記憶装置。   The controller prioritizes reading of data from each of the media LBAs identified by the LBA access sequence information into the data fetch buffer, thereby providing the LBA access sequence information. The data storage device of claim 1, wherein the data storage device is configured to reduce noise generated by the data storage device while reading data from the identified medium LBA. 前記コントローラは、前記LBAアクセス・シーケンス情報により識別された前記媒体LBAの各々から前記データ・フェッチ・バッファへのデータの読込みの間で優先順位を付けて、それにより、前記LBAアクセス・シーケンス情報により識別された前記媒体LBAからデータを読取る間のデータ記憶装置による電力消費を減少するように構成された請求項1記載のデータ記憶装置。   The controller prioritizes reading of data from each of the media LBAs identified by the LBA access sequence information into the data fetch buffer, thereby providing the LBA access sequence information. The data storage device of claim 1, wherein the data storage device is configured to reduce power consumption by the data storage device while reading data from the identified medium LBA. 前記アクセス・シーケンス情報は、前記媒体上のLBAのシーケンスが前記ホスト装置によりアクセスされる順序を識別する請求項1記載のデータ記憶装置。   The data storage device according to claim 1, wherein the access sequence information identifies an order in which a sequence of LBAs on the medium is accessed by the host device. 前記アクセス・シーケンス情報は、前記ホスト装置によりアクセスされると予測される前記媒体上の複数のLBAを識別するが、複数の前記LBAの各々が前記ホスト装置によりアクセスされると予測される相対的な順序を識別しない請求項1記載のデータ記憶装置。   The access sequence information identifies a plurality of LBAs on the medium that are expected to be accessed by the host device, but each of the plurality of LBAs is predicted to be accessed by the host device. 2. The data storage device according to claim 1, wherein no particular order is identified. 前記コントローラは、前記ホスト装置から前記LBAアクセス・シーケンス情報を受信して、前記データ記憶装置に前記LBAアクセス・シーケンス情報を記憶し、そして前記LBAアクセス・シーケンス情報により識別される媒体LBAからのデータを読取ることにより前記LBAアクセス・シーケンスの受信に応答して、前記データ・フェッチ・バッファへ前記読取られたデータを記憶するように構成された請求項1記載のデータ記憶装置。   The controller receives the LBA access sequence information from the host device, stores the LBA access sequence information in the data storage device, and data from the medium LBA identified by the LBA access sequence information The data storage device of claim 1, wherein the read data is stored in the data fetch buffer in response to receiving the LBA access sequence by reading. 前記コントローラは、複数の異なったLBAアクセス・シーケンス情報を受信し、前記データ記憶装置内のテーブルに前記複数の異なったLBAアクセス・シーケンス情報を記憶し、前記複数のLBAアクセス・シーケンス情報の各々により識別される媒体LBAからのデータを前記データ・フェッチ・バッファへ読取ることにより前記LBAアクセス・シーケンス情報の各々の受信に対して応答し、前記データ・フェッチ・バッファから前記ホスト装置へ前記読取りコマンド関連の前記データを通知することにより、前記データ・フェッチ・バッファへ読取り済みである前記複数のLBAアクセス・シーケンス情報の1つにより識別される媒体LBAにおけるデータへ、前記ホスト装置からの読取りコマンドが向けられたときを識別するように構成された請求項10記載のデータ記憶装置。   The controller receives a plurality of different LBA access sequence information, stores the plurality of different LBA access sequence information in a table in the data storage device, and each of the plurality of LBA access sequence information. Respond to receipt of each of the LBA access sequence information by reading data from the identified media LBA into the data fetch buffer, and the read command related from the data fetch buffer to the host device The read command from the host device is directed to the data in the medium LBA identified by one of the plurality of LBA access sequence information that has been read to the data fetch buffer. I will identify when Data storage device according to claim 10, wherein the configured. 前記コントローラは、前記LBAアクセス・シーケンス情報により識別された前記媒体上の各LBAから前記データ・フェッチ・バッファへデータを読取り、また、前記データ・フェッチ・バッファから前記ホスト装置へ前記関連するデータシーケンスを通知することにより、前記データ・フェッチ・バッファへ読込み済みの前記LBAアクセス・シーケンス情報により識別されたLBAにおけるデータへ向けられた前記ホスト装置からの読取りコマンドのシーケンスに応答するように構成された請求項1記載のデータ記憶装置。   The controller reads data from each LBA on the medium identified by the LBA access sequence information to the data fetch buffer and the associated data sequence from the data fetch buffer to the host device. Is configured to respond to a sequence of read commands from the host device directed to data in the LBA identified by the LBA access sequence information that has been read into the data fetch buffer. The data storage device according to claim 1. 前記コントローラは、前記ホスト装置により前記媒体上で読取られるLBAのパターンを観察し、前記読取られたLBAの観察されたパターンに基づいて前記LBAアクセス・シーケンス情報を発生し、前記ホスト装置から受信される読取りコマンドが前記ホスト装置からの更なる読取りコマンドが差し迫っていて、前記LBAアクセス・シーケンス情報により識別される媒体LBAへ向けられるときを決定し、前記LBAアクセス・シーケンス情報により識別される媒体LBAからデータを読取って前記データ・フェッチ・バッファへ前記読取られたデータを記憶することにより、前記LBAアクセス・シーケンス情報により識別される媒体LBAへの緊急ホスト読取りコマンドの前記指摘に応答するように構成された請求項1記載のデータ記憶装置。   The controller observes an LBA pattern read on the medium by the host device, generates the LBA access sequence information based on the read pattern of the read LBA, and is received from the host device. The medium LBA identified by the LBA access sequence information is determined when a further read command from the host device is imminent and is directed to the medium LBA identified by the LBA access sequence information. Configured to respond to the indication of an emergency host read command to the media LBA identified by the LBA access sequence information by reading data from and storing the read data in the data fetch buffer Claimed data according to claim 1 Storage device. 前記コントローラは、前記ホスト装置から受信される1つの読取りコマンドが、前記ホスト装置からの複数の読取りコマンドが引続き受信されて、LBAアクセス・シーケンス情報により識別される複数のLBAのアクセスよりも僅かに先立つ時間にアクセスされたことを事前に前記コントローラにより観察された1つのLBAへ、前記ホストから受信された前記1つの読取りコマンドが向けられたときに、前記LBAアクセス・シーケンス情報により識別される複数の媒体LBAへそれら読取りコマンドが向けられように構成された請求項13記載のデータ記憶装置。   The controller receives a read command received from the host device slightly more than a plurality of LBA accesses identified by the LBA access sequence information when a plurality of read commands from the host device are continuously received. A plurality identified by the LBA access sequence information when the one read command received from the host is directed to one LBA that was previously observed by the controller to have been accessed at a previous time. 14. A data storage device according to claim 13, wherein said read command is directed to said medium LBA. 前記コントローラは、前記ホスト装置から受信する1つの読取りコマンドは前記ホスト装置から複数の読取りコマンドが引続き受信されることを示すことを決定し、前記ホストから受信した前記読み書きコマンドが前記LBAアクセス・シーケンス情報により識別されるLBAへ向けられるときに、これらの読取りコマンドはLBAアクセス・シーケンス情報により複数の媒体LBAへ向けられるように構成された請求項13記載のデータ記憶装置。   The controller determines that one read command received from the host device indicates that multiple read commands are subsequently received from the host device, and the read / write command received from the host is the LBA access sequence. 14. The data storage device of claim 13, wherein when read to an LBA identified by information, these read commands are configured to be directed to a plurality of media LBAs by LBA access sequence information. 前記コントローラは、前記データ・フェッチ・バッファが前記媒体上の一時記憶場所を含み、LBAアクセス・シーケンス情報により識別される複数のLBAから読取られる前記データを、前記媒体上の前記一時記憶場所へ記憶するように構成された請求項1記載のデータ記憶装置。   The controller stores the data read from a plurality of LBAs identified by LBA access sequence information to the temporary storage location on the medium, wherein the data fetch buffer includes a temporary storage location on the medium. The data storage device according to claim 1, wherein the data storage device is configured to do so. 前記コントローラは、LBAアクセス・シーケンス情報により識別されるLBAから読取られたデータを、前記媒体上の前記一時記憶場所におけるLBAの隣接したグループへ記憶するように構成された請求項16記載のデータ記憶装置。   17. The data store of claim 16, wherein the controller is configured to store data read from an LBA identified by LBA access sequence information in an adjacent group of LBAs at the temporary storage location on the medium. apparatus. 前記コントローラは、前記LBAアクセス・シーケンス情報により識別される前記LBAからデータを読取るために、前記コントローラに前記ホスト装置が命令するところの定義されたデータ転送速度に基づいて、LBAアクセス・シーケンス情報により識別される複数のLBAからどのようにデータを読取るかを調節するように構成された請求項1記載のデータ記憶装置。   The controller uses the LBA access sequence information to read data from the LBA identified by the LBA access sequence information based on a defined data transfer rate that the host device commands to the controller. The data storage device of claim 1, wherein the data storage device is configured to adjust how data is read from a plurality of identified LBAs. 前記コントローラは、前記ホスト装置からのLBAアクセス・シーケンス情報による前記定義されたデータ転送速度を受信するように構成された請求項1記載のデータ記憶装置。   The data storage device according to claim 1, wherein the controller is configured to receive the defined data transfer rate according to LBA access sequence information from the host device. データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取るコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品はコンピュータ読取り可能な記憶媒体内に実施されたコンピュータ・プログラム・コードを含み、該コンピュータ・プログラム・コードは、
前記ホスト装置がアクセスするデータ記憶装置内の前記媒体上のデータ記憶位置の複数の論理ブロック・アドレス(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からデータを読取るように読取りコマンドを前記データ記憶装置へ通知することを前記ホスト装置により実行されるように構成された前記コンピュータ・プログラム・コードが、前記読取りコマンドをそれが通知するのに少なくとも1つの定義された時間の量だけ先立って、前記LBAアクセス・シーケンスを通知するように更に構成され、前記時間の量は、前記LBAアクセス・シーケンス情報により識別される複数の媒体LBAから前記データ記憶装置内の1つのフェッチ・バッファへデータを読取るために前記データ記憶装置に対して充分であるように定義される請求項20記載のコンピュータ・プログラム製品。   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. The computer program code configured to be further configured to notify the LBA access sequence prior to at least one defined amount of time before it notifies the read command. The amount of time is sufficient for the data storage device to read data from a plurality of media LBAs identified by the LBA access sequence information to a single fetch buffer in the data storage device. 21. A computer as defined in claim 20 Program product. 増加または減少する数の順に前記識別された複数のLBAへのアクセスを遂行するように、前記LBAアクセス・シーケンス情報により識別されるLBAを並べ替えるように構成されたコンピュータ・プログラム・コードを更に含む請求項20記載のコンピュータ・プログラム製品。   Computer program code configured to reorder the LBAs identified by the LBA access sequence information so as to perform access to the identified plurality of LBAs in order of increasing or decreasing number. 21. The computer program product of claim 20. どの媒体LBAデータにデータが記憶されるかを識別するデータ記憶装置からファイル・テーブルを読取ることと、前記データ記憶装置へ通知された前記LBAアクセス・シーケンス情報を前記ファイル・テーブルに基づいて発生することとを前記ホスト装置により実行するように構成されたコンピュータ・プログラム・コードを更に含む請求項20記載のコンピュータ・プログラム製品。   Reading the file table from the data storage device that identifies which medium LBA data the data is stored in, and generating the LBA access sequence information notified to the data storage device based on the file table 21. The computer program product of claim 20, further comprising computer program code configured to be executed by the host device. データ記憶装置内のデータ記憶媒体上のデータ記憶位置を読取るホスト装置のための方法であって、
前記ホスト装置がそこからデータを読取るデータ記憶装置内の媒体上のデータ記憶位置の複数の論理ブロック・アドレス(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.
前記ホスト装置がそこからデータを読取るデータ記憶装置の前記媒体上のデータ記憶位置の複数の論理ブロック・アドレス(LBS)のシーケンスを定義することは、
どの媒体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:
前記データ記憶装置の前記データ・フェッチ・バッファ内の前記LBAアクセス・シーケンス情報により識別される前記媒体上のLBAから読取られた前記データを記憶することは、前記データ記憶装置内の電子回路メモリへ前記読取られたデータを書込むことを含む請求項24記載のデータ記憶装置。   Storing the data read from the LBA on the medium identified by the LBA access sequence information in the data fetch buffer of the data storage device to an electronic circuit memory in the data storage device 25. A data storage device according to claim 24 including writing the read data. 前記データ記憶装置の前記データ・フェッチ・バッファ内の前記LBAアクセス・シーケンス情報により識別される前記媒体上のLBAから読取られた前記データを記憶することは、前記媒体上の一時記憶位置へデータを書込むことを請求項24記載のデータ記憶装置。   Storing the data read from the LBA on the medium identified by the LBA access sequence information in the data fetch buffer of the data storage device transfers the data to a temporary storage location on the medium. 25. A data storage device according to claim 24 to be written. 前記媒体上の一時記憶位置へ読込まれた前記データを書込むことは、前記媒体上の前記一時記憶位置におけるLBAの隣接するグループ上へ前記データを書込むことを含む請求項27記載の方法。   28. The method of claim 27, wherein writing the read data to a temporary storage location on the medium includes writing the data onto an adjacent group of LBAs at the temporary storage location on the medium.
JP2007032331A 2007-02-13 2007-02-13 Storage device fetching data in response to host access stream recognition Pending JP2008198282A (en)

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)

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