Method of pre-caching or pre-fetching data utilizing thread lists and multimedia editing systems using such pre-caching
First Claim
1. 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, andgenerates 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, andmeans for sending the predetermined data stored in the drive buffer to the host computer in response to the read commands.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
21 Claims
-
1. 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.
-
-
2. 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. - View Dependent Claims (3, 4, 5, 6)
-
-
7. 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. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. 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. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification