WO1996008772B1 - Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching - Google Patents
Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-cachingInfo
- Publication number
- WO1996008772B1 WO1996008772B1 PCT/US1995/012144 US9512144W WO9608772B1 WO 1996008772 B1 WO1996008772 B1 WO 1996008772B1 US 9512144 W US9512144 W US 9512144W WO 9608772 B1 WO9608772 B1 WO 9608772B1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- thread
- list
- caching
- storage device
- Prior art date
Links
- 230000000875 corresponding Effects 0.000 claims 6
Abstract
A method of pre-caching data using thread lists, and a multimedia or video 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 (120), CD ROM drive or other data storage device, which locates the data and stores it in its own storage device buffer (124). The thread list may include a video thread and an audio thread, as well as a data access parameter reflecting host data application requirements. The data access parameter may include at least one of data priorization, cache management, error processing including a resend capability, and data supply rate. The thread list may also include data specifying percentages of the drive buffer (124) to be reserved for read ahead data and data which has been previously provided to the host computer (100).
Claims
1. A multimedia editing system, comprising: a hard disk drive including at least one hard disk and a drive buffer; a host computer including means for generating an edit decision list, means for converting the edit decision list into at least one block of file access data, means for receiving physical file mapping information from the hard disk drive, means for generating a thread list, including a video thread and at least one audio thread, identifying the at least one block of file access data and the physical file mapping information, the thread list also including data access parameters reflecting host application data requirements, means for transferring the thread list to the drive buffer, and means for generating read commands corresponding to data defined by the edit decision list; and a hard disk drive controller including means for locating predetermined data on the at least one hard disk corresponding to the thread list stored in the drive buffer and storing the predetermined data in the drive buffer, means for sending the predetermined data stored in the drive buffer to the host computer in response to the read commands. 3 0
2. A multimedia editing system, comprising: a hard disk drive including at least one hard disk and a drive buffer; a host computer including means for generating an edit decision list, means for converting the edit decision list into at least one block of file access data, means for receiving physical file mapping information from the hard disk drive, means for generating at least one thread list identifying the at least one block of file access data and the physical file mapping information, means for transferring the at least one thread list to the drive buffer, and means for generating SCSI read commands corresponding to data defined by the edit decision list; and a hard disk drive controller including means for locating predetermined data on the at least one hard disk corresponding to the at least one thread list stored in the drive buffer and storing the predetermined data in the drive buffer, means for sending the predetermined data stored in the drive buffer to the host computer in response to the SCSI read commands.
3. A multimedia editing system as claimed in claim
2, wherein the at least one thread list includes a video thread and an audio thread.
4. A multimedia editing system as claimed in claim
3, wherein the video thread includes a video data sample rate and the audio thread includes an audio sample rate.
5. 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.
6. 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.
7. A method of caching data, comprising the steps of: providing a data storage device having a storage medium, a storage device buffer and a controller; generating at least one thread list corresponding to predetermined data stored on the storage mediu ; storing the at least one thread list in the storage device buffer; locating the predetermined data on the storage medium; and storing the predetermined data in the storage device buffer.
8. 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.
9. 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. 32
10. A method of caching data as claimed in claim 9, 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.
11. A method of caching data as claimed in claim 9, 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 data storage device buffer and cannot be retrieved from the storage medium within a predetermined time.
12. A method of caching data as claimed in claim 9, wherein the at least one data access parameter comprises a data reverse parameter.
13. 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.
14. 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.
15. A method of caching data as claimed in claim 7, wherein the step of locating the predetermined data comprises computing an access time for at least one data element in the thread list based on physical characteristics of the data storage device. 33
16. A method of caching data for use with a host computer having a central processing unit and a memory device, the method comprising the steps of: providing a data storage device having a storage medium, a storage device buffer and a controller; generating at least one thread list with the host computer, the at least one thread list corresponding to predetermined data stored on the storage medium; storing the at least one thread list in the storage device buffer; locating the predetermined data on the storage medium; and storing the predetermined data in the storage device buffer.
17. A method of caching data as claimed in claim 16, wherein the step of providing a data storage device comprises providing a hard disk drive.
18. A method of caching data as claimed in claim 16, wherein the at least one thread list includes at least one data access parameter reflecting host application data requirements.
19. A method of caching data as claimed in claim 18, 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.
20. A method of caching data as claimed in claim 18, wherein the at least one data access parameter comprises a data reverse parameter. 34
21. A method of caching data as claimed in claim 16, wherein the at least one thread list defines a plurality of non-contiguously located data blocks.
22. A method of caching data as claimed in claim 16, wherein the at least one thread list comprises a plurality of thread lists, each thread list defining a distinct host application data stream requirement.
23. A method of caching data as claimed in claim 16, wherein the step of locating the predetermined data comprises computing an access time for at least one data element in the thread list based on physical characteristics of the data storage device.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP95935071A EP0781432B1 (en) | 1994-09-14 | 1995-09-12 | Multimedia editing system using pre-caching data utilizing thread lists |
AU37233/95A AU3723395A (en) | 1994-09-14 | 1995-09-12 | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching |
DE69535330T DE69535330T2 (en) | 1994-09-14 | 1995-09-12 | Caching system with Explicit follow list |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30557294A | 1994-09-14 | 1994-09-14 | |
US305,572 | 1994-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1996008772A1 WO1996008772A1 (en) | 1996-03-21 |
WO1996008772B1 true WO1996008772B1 (en) | 1996-05-17 |
Family
ID=23181352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1995/012144 WO1996008772A1 (en) | 1994-09-14 | 1995-09-12 | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching |
Country Status (6)
Country | Link |
---|---|
US (1) | US6092154A (en) |
EP (1) | EP0781432B1 (en) |
AT (1) | ATE347709T1 (en) |
AU (1) | AU3723395A (en) |
DE (1) | DE69535330T2 (en) |
WO (1) | WO1996008772A1 (en) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2728559B1 (en) * | 1994-12-23 | 1997-01-31 | Saint Gobain Vitrage | GLASS SUBSTRATES COATED WITH A STACK OF THIN LAYERS WITH INFRARED REFLECTION PROPERTIES AND / OR IN THE FIELD OF SOLAR RADIATION |
GB9715925D0 (en) * | 1997-07-29 | 1997-10-01 | Discreet Logic Inc | Video data transfer |
JP3522527B2 (en) * | 1998-03-27 | 2004-04-26 | 富士通株式会社 | I / O control device and I / O control method |
US6606617B1 (en) * | 1998-09-24 | 2003-08-12 | International Business Machines Corporation | Optimized technique for prefetching LOB table space pages |
JP2001022529A (en) * | 1999-06-30 | 2001-01-26 | Internatl Business Mach Corp <Ibm> | Disk drive device and its controlling method |
US9038108B2 (en) * | 2000-06-28 | 2015-05-19 | Verizon Patent And Licensing Inc. | Method and system for providing end user community functionality for publication and delivery of digital media content |
US6643744B1 (en) | 2000-08-23 | 2003-11-04 | Nintendo Co., Ltd. | Method and apparatus for pre-fetching audio data |
US6606689B1 (en) * | 2000-08-23 | 2003-08-12 | Nintendo Co., Ltd. | Method and apparatus for pre-caching data in audio memory |
US8972862B2 (en) | 2001-06-27 | 2015-03-03 | Verizon Patent And Licensing Inc. | Method and system for providing remote digital media ingest with centralized editorial control |
US20060236221A1 (en) * | 2001-06-27 | 2006-10-19 | Mci, Llc. | Method and system for providing digital media management using templates and profiles |
US8990214B2 (en) * | 2001-06-27 | 2015-03-24 | Verizon Patent And Licensing Inc. | Method and system for providing distributed editing and storage of digital media over a network |
US20070089151A1 (en) * | 2001-06-27 | 2007-04-19 | Mci, Llc. | Method and system for delivery of digital media experience via common instant communication clients |
US7970260B2 (en) * | 2001-06-27 | 2011-06-28 | Verizon Business Global Llc | Digital media asset management system and method for supporting multiple users |
US20030088658A1 (en) * | 2001-11-08 | 2003-05-08 | Davies Ian R. | Obtaining information to facilitate system usage |
US7937554B2 (en) | 2002-11-12 | 2011-05-03 | Broadcom Corporation | System and method for managing memory |
US6986019B1 (en) | 2003-04-21 | 2006-01-10 | Maxtor Corporation | Method and apparatus for detection and management of data streams |
US7424202B2 (en) * | 2003-07-29 | 2008-09-09 | Sony Corporation | Editing system and control method using a readout request |
GB0318196D0 (en) * | 2003-08-02 | 2003-09-03 | Ibm | A method apparatus and computer program for processing a queue of messages |
US7562361B2 (en) * | 2004-02-26 | 2009-07-14 | Microsoft Corporation | Thread-based limitation on computer application |
US7418582B1 (en) | 2004-05-13 | 2008-08-26 | Sun Microsystems, Inc. | Versatile register file design for a multi-threaded processor utilizing different modes and register windows |
US7543132B1 (en) | 2004-06-30 | 2009-06-02 | Sun Microsystems, Inc. | Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes |
US7366829B1 (en) | 2004-06-30 | 2008-04-29 | Sun Microsystems, Inc. | TLB tag parity checking without CAM read |
US7509484B1 (en) | 2004-06-30 | 2009-03-24 | Sun Microsystems, Inc. | Handling cache misses by selectively flushing the pipeline |
US20060009265A1 (en) * | 2004-06-30 | 2006-01-12 | Clapper Edward O | Communication blackout feature |
US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
US7571284B1 (en) | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
US7290116B1 (en) | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
US7398348B2 (en) * | 2004-08-24 | 2008-07-08 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory |
CN101031970B (en) * | 2004-09-28 | 2013-03-27 | 皇家飞利浦电子股份有限公司 | Method and device for storing data on a record medium and for transferring information |
US8756605B2 (en) * | 2004-12-17 | 2014-06-17 | Oracle America, Inc. | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline |
US7430643B2 (en) * | 2004-12-30 | 2008-09-30 | Sun Microsystems, Inc. | Multiple contexts for efficient use of translation lookaside buffer |
US9270732B2 (en) * | 2005-03-14 | 2016-02-23 | Rhapsody International Inc. | System and method for automatically uploading updates |
US8024523B2 (en) * | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
US11824723B2 (en) | 2005-03-23 | 2023-11-21 | Numecent Holdings, Inc. | Opportunistic block transmission with time constraints |
US20070143536A1 (en) * | 2005-06-07 | 2007-06-21 | Maxtor Corporation | Storage device that pre-fetches data responsive to host access stream awareness |
US20060294315A1 (en) * | 2005-06-27 | 2006-12-28 | Seagate Technology Llc | Object-based pre-fetching Mechanism for disc drives |
JP4981041B2 (en) * | 2005-06-29 | 2012-07-18 | インテル コーポレイション | Caching method, apparatus and system |
US7788698B2 (en) * | 2005-08-31 | 2010-08-31 | Microsoft Corporation | Pre-negotiation and pre-caching media policy |
US20070107012A1 (en) * | 2005-09-07 | 2007-05-10 | Verizon Business Network Services Inc. | Method and apparatus for providing on-demand resource allocation |
US9076311B2 (en) * | 2005-09-07 | 2015-07-07 | Verizon Patent And Licensing Inc. | Method and apparatus for providing remote workflow management |
US9401080B2 (en) | 2005-09-07 | 2016-07-26 | Verizon Patent And Licensing Inc. | Method and apparatus for synchronizing video frames |
US8631226B2 (en) * | 2005-09-07 | 2014-01-14 | Verizon Patent And Licensing Inc. | Method and system for video monitoring |
DE102005059044A1 (en) * | 2005-12-08 | 2007-06-14 | Deutsche Thomson-Brandt Gmbh | A method for editing media content in a network environment and device for storing media data |
US8099548B2 (en) * | 2006-03-23 | 2012-01-17 | Microsoft Corporation | Power efficient media playback on general purpose portable devices |
US8332608B2 (en) | 2008-09-19 | 2012-12-11 | Mediatek Inc. | Method of enhancing command executing performance of disc drive |
US8473688B2 (en) * | 2010-03-26 | 2013-06-25 | Microsoft Corporation | Anticipatory response pre-caching |
US20110320863A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | Dynamic re-allocation of cache buffer slots |
US9104583B2 (en) | 2010-06-24 | 2015-08-11 | International Business Machines Corporation | On demand allocation of cache buffer slots |
US8775742B2 (en) * | 2010-08-25 | 2014-07-08 | Lsi Corporation | System and method for cache management in a DIF enabled storage system |
US8745158B2 (en) | 2011-09-30 | 2014-06-03 | Avid Technology, Inc. | Application-guided bandwidth-managed caching |
US10268584B2 (en) * | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
US10228854B2 (en) | 2014-08-20 | 2019-03-12 | Sandisk Technologies Llc | Storage devices and methods for optimizing use of storage devices based on storage device parsing of file system metadata in host write operations |
US10007442B2 (en) | 2014-08-20 | 2018-06-26 | Sandisk Technologies Llc | Methods, systems, and computer readable media for automatically deriving hints from accesses to a storage device and from file system metadata and for optimizing utilization of the storage device based on the hints |
US10884920B2 (en) | 2018-08-14 | 2021-01-05 | Western Digital Technologies, Inc. | Metadata-based operations for use with solid state devices |
US11340810B2 (en) | 2018-10-09 | 2022-05-24 | Western Digital Technologies, Inc. | Optimizing data storage device operation by grouping logical block addresses and/or physical block addresses using hints |
US11249664B2 (en) | 2018-10-09 | 2022-02-15 | Western Digital Technologies, Inc. | File system metadata decoding for optimizing flash translation layer operations |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5927935B2 (en) * | 1980-02-29 | 1984-07-09 | 株式会社日立製作所 | information processing equipment |
US4604691A (en) * | 1982-09-07 | 1986-08-05 | Nippon Electric Co., Ltd. | Data processing system having branch instruction prefetching performance |
US4979050A (en) * | 1983-12-02 | 1990-12-18 | Lex Computer And Management Corporation | Video composition method for assembling video segments |
JPS59153251A (en) * | 1983-02-18 | 1984-09-01 | Toshiba Corp | Disc cashe system |
US4604687A (en) * | 1983-08-11 | 1986-08-05 | Lucasfilm Ltd. | Method and system for storing and retrieving multiple channel sampled data |
US4746994A (en) * | 1985-08-22 | 1988-05-24 | Cinedco, California Limited Partnership | Computer-based video editing system |
JPH087662B2 (en) * | 1985-10-18 | 1996-01-29 | 株式会社日立製作所 | Data transfer control method |
US5008820A (en) * | 1987-03-30 | 1991-04-16 | International Business Machines Corporation | Method of rapidly opening disk files identified by path names |
US4980823A (en) * | 1987-06-22 | 1990-12-25 | International Business Machines Corporation | Sequential prefetching with deconfirmation |
US4860199A (en) * | 1987-07-31 | 1989-08-22 | Prime Computer, Inc. | Hashing indexer for branch cache |
US4894772A (en) * | 1987-07-31 | 1990-01-16 | Prime Computer, Inc. | Method and apparatus for qualifying branch cache entries |
US4888679A (en) * | 1988-01-11 | 1989-12-19 | Digital Equipment Corporation | Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements |
US5136696A (en) * | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
GB2235815A (en) * | 1989-09-01 | 1991-03-13 | Compact Video Group Inc | Digital dialog editor |
JPH0452743A (en) * | 1990-06-14 | 1992-02-20 | Fujitsu Ltd | Control system for duplex external storage |
EP0463874A2 (en) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Cache arrangement for file system in digital data processing system |
US5283873A (en) * | 1990-06-29 | 1994-02-01 | Digital Equipment Corporation | Next line prediction apparatus for a pipelined computed system |
US5421014A (en) * | 1990-07-13 | 1995-05-30 | I-Tech Corporation | Method for controlling multi-thread operations issued by an initiator-type device to one or more target-type peripheral devices |
GB2247546B (en) * | 1990-08-31 | 1995-03-01 | Sun Microsystems Inc | Method and apparatus for predictive caching |
US5305389A (en) * | 1991-08-30 | 1994-04-19 | Digital Equipment Corporation | Predictive cache system |
US5317713A (en) * | 1991-09-19 | 1994-05-31 | Quantum Corporation | Micro-winchester disk drive having on-board segmented cache memory |
US5396339A (en) * | 1991-12-06 | 1995-03-07 | Accom, Inc. | Real-time disk system |
US5285527A (en) * | 1991-12-11 | 1994-02-08 | Northern Telecom Limited | Predictive historical cache memory |
GB2266037B (en) * | 1992-03-13 | 1996-02-14 | Quantel Ltd | An electronic video processing system |
US5410653A (en) * | 1992-06-16 | 1995-04-25 | International Business Machines Corporation | Asynchronous read-ahead disk caching using multiple disk I/O processes and dynamically variable prefetch length |
US5371861A (en) * | 1992-09-15 | 1994-12-06 | International Business Machines Corp. | Personal computer with small computer system interface (SCSI) data flow storage controller capable of storing and processing multiple command descriptions ("threads") |
US5442747A (en) * | 1993-09-27 | 1995-08-15 | Auravision Corporation | Flexible multiport multiformat burst buffer |
-
1995
- 1995-09-12 EP EP95935071A patent/EP0781432B1/en not_active Expired - Lifetime
- 1995-09-12 DE DE69535330T patent/DE69535330T2/en not_active Expired - Lifetime
- 1995-09-12 AT AT95935071T patent/ATE347709T1/en not_active IP Right Cessation
- 1995-09-12 AU AU37233/95A patent/AU3723395A/en not_active Abandoned
- 1995-09-12 WO PCT/US1995/012144 patent/WO1996008772A1/en active IP Right Grant
-
1997
- 1997-11-07 US US08/966,771 patent/US6092154A/en not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1996008772B1 (en) | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching | |
EP0781432B1 (en) | Multimedia editing system using pre-caching data utilizing thread lists | |
US6321237B1 (en) | Recording and reproducing apparatus and method for accessing data stored on a randomly accessible recording medium, and for managing data thereon | |
US5247646A (en) | Compressed data optical disk storage system | |
US6724982B1 (en) | Digital audiovisual magnetic disk doubly linked list recording format extension to multiple devices | |
US8223600B2 (en) | Network-attachable, file-accessible storage drive | |
US5734892A (en) | Efficient method and apparatus for access and storage of compressed data | |
US6151660A (en) | Information recording/reproducing apparatus having segmented cache memory | |
JP2804115B2 (en) | Disk file system | |
JP2003513352A (en) | Virtual tape volume management device using data page atomic unit | |
US7188147B2 (en) | I/O method and apparatus for optical storage media | |
US6654851B1 (en) | System, apparatus, and method for using a disk drive for sequential data access | |
WO2001073537A3 (en) | System for and method of accessing blocks on a storage medium | |
US6694339B1 (en) | File management device and method thereof, and audio visual data recording/reproducing device and method thereof | |
US6266671B1 (en) | Data storage apparatus, method, and medium with variable data storage structure | |
JP2004005778A (en) | Information processor, data recording method, program of data recording method, and recording medium recorded with program of data recording method | |
US6108289A (en) | Optical disc recording apparatus for overwriting information on a previously recorded packet of an optical disc | |
US20010042167A1 (en) | Method of storing data and data storage device using the same | |
US6047360A (en) | System and method of organizing and defragmenting audio events recorded on a storage medium | |
US20090157988A1 (en) | Data processing apparatus and data processing method | |
US6795893B2 (en) | Recordable disk recording controller with batch register controller | |
EP2256648A1 (en) | Method for storing data files, method for reading data content, and data store | |
US6643757B2 (en) | Logical storage of UDF descriptors by mapping a plurality of descriptors into a physical layer | |
US6546504B1 (en) | System and method for providing streaming recording and playback of audio-video data | |
US8644676B2 (en) | Data processing apparatus and data processing method |