← Back to Patent Explorer
US6092154A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of pre-caching or pre-fetching data utilizing thread lists and multimedia editing systems using such pre-caching

Assignee: Intel Corp
•
Filing: 1997-11-07
•
Granted: 2000-07-18
•
Expires: 2017-11-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of pre-caching data using thread lists, and a multi-media editing system using such a pre-caching method, are disclosed. A list of data which will be required by a host application is passed to a data storage device such as a hard disk drive, CDROM drive, or other data storage device. The data storage device locates the data and stores it in its own storage device buffer. Thus, the data is immediately available when requested by the host. The pre-caching method may be used in a multimedia or video editing system to quickly retrieve data from storage devices. The thread list may include a video thread, an audio thread and a data access parameter reflecting host data application requirements. The data access parameter may include at least one of data prioritization, cache management, error processing including resend capability, and data supply rate. The thread list may also include data specifying a percentage of the storage device buffer to be reserved for read ahead data and a percentage of the storage device buffer to be reserved for data which has been previously provided to the host computer.

Inventors

  • 👤 Allen J. Curtis
  • 👤 Stephen T. Whiteley
  • 👤 Reza A. Rassool

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 17:03
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F3/0628; G06F3/0655; G06F3/0656; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674; G06F3/0676; G11; G11B; G11B27/00; G11B27/02; G11B27/031; G11B27/034; G11B27/10; G11B27/102; G11B27/105; G06F12/0866; G06F2212/00; G06F2212/60; G06F2212/6028; G11B2220/00; G11B2220/20; G11B2220/21; G11B2220/213; G11B2220/25; G11B2220/2537; G11B2220/2545; G11B2220/40; G11B2220/41; G11B2220/415; G11B2220/90

Claims Analysis

Total Claims: 25
Claim 1
Independent Claim 198 words
A multimedia editing system, comprising: a hard disk drive unit including both (1) at least one hard disk and (2) a drive buffer; a host computer; an application on the host computer that; determines what data will be required for the application and generates a list of predetermined data, converts the list into at least one block of file access data, determines physical file mapping information relating to the file access data on the hard disk drive unit, generates a thread list, including a video thread and at least one audio thread, that includes a list of addresses of data blocks required by the application, transfers the thread list to the drive buffer, and generates read commands to retrieve portions of the predetermined data when required by the application; and a hard disk drive controller, including; means for locating predetermined data on the at least one hard disk in accordance with the list of addresses of data blocks of the thread list stored in the drive buffer and storing the predetermined data in the drive buffer, and means for sending the predetermined data stored in the drive buffer to the host computer in response to the read commands.
Claim 2
Dependent Claim 198 words
A multimedia editing system, comprising: a hard disk drive unit including both (1) at least one hard disk and (2) a drive buffer; a host computer; an application on the host computer that; determines what data will be required for the application and generates a list of predetermined data, converts the list into at least one block of file access data, determines physical file mapping information relating to the file access data on the hard disk drive unit, generates a thread list, including a video thread and at least one audio thread, that includes a list of addresses of data blocks required by the application, transfers the thread list to the drive buffer, and generates read commands to retrieve portions of the predetermined data when required by the application; and a hard disk drive controller, including; means for locating predetermined data on the at least one hard disk in accordance with the list of addresses of data blocks of the thread list stored in the drive buffer and storing the predetermined data in the drive buffer, and means for sending the predetermined data stored in the drive buffer to the host computer in response to the read commands.
Claim 3
Dependent Claim 194 words
A multimedia editing system, comprising: a hard disk drive unit including at least one hard disk and a drive buffer; a host computer; an application on the host computer that; determines what data will be required for the application and generates a list of predetermined data, converts the list into at least one block of file access data, receives physical file mapping information relating to the file access data from the hard disk drive, generates at least one thread list that includes a list of addresses of data blocks required by the application, transfers the at least one thread list to the drive buffer, and generates SCSI read commands to retrieve portions of the predetermined data when required by the application; and a hard disk drive controller, including; means for locating predetermined data on the at least one hard disk in accordance with the list of addresses of data blocks of the at least one thread list stored in the drive buffer and storing the predetermined data in the drive buffer; and means for sending the predetermined data stored in the drive buffer to the host computer in response to the SCSI read commands.
Claim 4
Dependent Claim 194 words
A multimedia editing system, comprising: a hard disk drive unit including at least one hard disk and a drive buffer; a host computer; an application on the host computer that; determines what data will be required for the application and generates a list of predetermined data, converts the list into at least one block of file access data, receives physical file mapping information relating to the file access data from the hard disk drive, generates at least one thread list that includes a list of addresses of data blocks required by the application, transfers the at least one thread list to the drive buffer, and generates SCSI read commands to retrieve portions of the predetermined data when required by the application; and a hard disk drive controller, including; means for locating predetermined data on the at least one hard disk in accordance with the list of addresses of data blocks of the at least one thread list stored in the drive buffer and storing the predetermined data in the drive buffer; and means for sending the predetermined data stored in the drive buffer to the host computer in response to the SCSI read commands.
Claim 5
Dependent Claim 53 words
A multimedia editing system as claimed in claim 2, wherein the at least one thread list includes data specifying a percentage of the drive buffer to be reserved for read ahead data and a percentage of the drive buffer to be reserved for data which has been previously provided to the host computer.
Claim 6
Dependent Claim 50 words
A multimedia editing system as claimed in claim 2, wherein the at least one block of file access data is defined in terms of a logical block address, an offset to a first byte and the total number of bytes in the at least one block of file access data.
Claim 7
Dependent Claim 24 words
A multimedia editing system as claimed in claim 2, wherein the at least one thread list includes a video thread and an audio thread.
Claim 8
Dependent Claim 28 words
A multimedia editing system as claimed in claim 5, wherein the video thread includes a video data sample rate and the audio thread includes an audio sample rate.
Claim 9
Independent Claim 125 words
A method of caching data used by a host application running on a host computer, comprising the steps of: providing a data storage device having a storage medium, a storage device buffer and a controller in an integrated unit; determining what data will be required by the host application and generating a list of predetermined data; generating at least one thread list that includes a list of addresses of data blocks for the predetermined data; storing the at least one thread list in the storage device buffer; locating the predetermined data on the storage medium in accordance with the list of addresses of data blocks of the thread list, and storing the predetermined data in the storage device buffer in accordance with the thread list.
Claim 10
Independent Claim 125 words
A method of caching data used by a host application running on a host computer, comprising the steps of: providing a data storage device having a storage medium, a storage device buffer and a controller in an integrated unit; determining what data will be required by the host application and generating a list of predetermined data; generating at least one thread list that includes a list of addresses of data blocks for the predetermined data; storing the at least one thread list in the storage device buffer; locating the predetermined data on the storage medium in accordance with the list of addresses of data blocks of the thread list, and storing the predetermined data in the storage device buffer in accordance with the thread list.
Claim 11
Dependent Claim 25 words
A method of caching data as claimed in claim 7, wherein the at least one thread list defines a plurality of non-contiguously located data blocks.
Claim 12
Dependent Claim 34 words
A method of caching data as claimed in claim 7, wherein the at least one thread list comprises a plurality of thread lists, each thread list defining a distinct host application data stream requirement.
Claim 13
Dependent Claim 25 words
A method of caching data as claimed in claim 7, wherein the step of providing a data storage device comprises providing a hard disk drive.
Claim 14
Dependent Claim 29 words
A method of caching data as claimed in claim 7, wherein the at least one thread list includes at least one data access parameter reflecting host application data requirements.
Claim 15
Dependent Claim 35 words
A method of caching data as claimed in claim 11, wherein the at least one data access parameter includes at least one of data prioritization, cache management, error processing, thread type and data supply rate.
Claim 16
Dependent Claim 63 words
A method of caching data as claimed in claim 11, wherein the at least one data access parameter comprises an error processing parameter which causes the data storage device to resend a last sample in response to a condition where a next sample is not available in the storage device buffer and cannot be retrieved from the storage medium within a predetermined time.
Claim 17
Dependent Claim 23 words
A method of caching data as claimed in claim 11, wherein the at least one data access parameter comprises a data reverse parameter.
Claim 18
Independent Claim 127 words
A method of caching data for use with a host computer running a host application, the method comprising the steps of: providing a data storage device having a storage medium, a storage device buffer and a controller in an integrated unit; determining what data will be required by the host application and generating a list of predetermined data; generating at least one thread list that includes a list of addresses of data blocks for the predetermined data; storing the at least one thread list in the storage device buffer; locating the predetermined data on the storage medium in accordance with the list of addresses of data blocks of the thread list, and storing the predetermined data in the storage device buffer in accordance with the thread list.
Claim 19
Independent Claim 127 words
A method of caching data for use with a host computer running a host application, the method comprising the steps of: providing a data storage device having a storage medium, a storage device buffer and a controller in an integrated unit; determining what data will be required by the host application and generating a list of predetermined data; generating at least one thread list that includes a list of addresses of data blocks for the predetermined data; storing the at least one thread list in the storage device buffer; locating the predetermined data on the storage medium in accordance with the list of addresses of data blocks of the thread list, and storing the predetermined data in the storage device buffer in accordance with the thread list.
Claim 20
Dependent Claim 25 words
A method of caching data as claimed in claim 15, wherein the at least one thread list defines a plurality of non-contiguously located data blocks.
Claim 21
Dependent Claim 34 words
A method of caching data as claimed in claim 15, wherein the at least one thread list comprises a plurality of thread lists, each thread list defining a distinct host application data stream requirement.
Claim 22
Dependent Claim 25 words
A method of caching data as claimed in claim 15, wherein the step of providing a data storage device comprises providing a hard disk drive.
Claim 23
Dependent Claim 29 words
A method of caching data as claimed in claim 15, wherein the at least one thread list includes at least one data access parameter reflecting host application data requirements.
Claim 24
Dependent Claim 35 words
A method of caching data as claimed in claim 19, wherein the at least one data access parameter includes at least one of data prioritization, cache management, error processing, thread type and data supply rate.
Claim 25
Dependent Claim 23 words
A method of caching data as claimed in claim 19, wherein the at least one data access parameter comprises a data reverse parameter.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-07-18 2004-01-17 2004-07-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-07-18 2008-01-17 2008-07-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-07-18 2012-01-17 2012-07-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag