WO2001046793A9 - Reading data from a storage medium - Google Patents

Reading data from a storage medium

Info

Publication number
WO2001046793A9
WO2001046793A9 PCT/US2000/042612 US0042612W WO0146793A9 WO 2001046793 A9 WO2001046793 A9 WO 2001046793A9 US 0042612 W US0042612 W US 0042612W WO 0146793 A9 WO0146793 A9 WO 0146793A9
Authority
WO
WIPO (PCT)
Prior art keywords
location
storage medium
data
command
read
Prior art date
Application number
PCT/US2000/042612
Other languages
French (fr)
Other versions
WO2001046793A3 (en
WO2001046793A2 (en
Inventor
Knut S Grimsrud
Amber D Huffman
Original Assignee
Intel Corp
Knut S Grimsrud
Amber D Huffman
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 Intel Corp, Knut S Grimsrud, Amber D Huffman filed Critical Intel Corp
Priority to KR10-2002-7007920A priority Critical patent/KR100523183B1/en
Priority to AU39722/01A priority patent/AU3972201A/en
Priority to EP00992274A priority patent/EP1261908A2/en
Publication of WO2001046793A2 publication Critical patent/WO2001046793A2/en
Publication of WO2001046793A9 publication Critical patent/WO2001046793A9/en
Publication of WO2001046793A3 publication Critical patent/WO2001046793A3/en
Priority to HK03100439.6A priority patent/HK1048180A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Abstract

Data is read from a storage medium in response to a command and stored in a region of memory. An interrupt is issued after a predetermined portion of the data has been stored in memory. A database, such as a scatter/gather list, may be consulted to determine when to issue the interrupt. A host processing device may read data from a first location on the storage medium in response to a command requesting data at a second location on the storage medium, and may read data from the second location on the storage medium in response to the command. The first location precedes the second location in a direction of movement of the storage medium during reading.

Claims

What is claimed is:
1. A method of reading data from a storage medium, comprising: reading data on the storage medium in response to a command; storing the data in a region of memory; and issuing an interrupt after a predetermined portion of the data has been stored in memory.
2. The method of claim 1, further comprising consulting a database to determine when to issue the interrupt .
3. The method of claim 2, wherein the database comprises instructions for storing the data and for issuing the interrupt .
4. The method of claim 2, wherein the database comprises a scatter/gather list.
5. The method of claim 1, wherein the predetermined portion of data is read from a first location on the storage medium and additional data is read from a second location on
- 13 - the storage medium, the first location preceding the second location in a direction of movement of the storage medium during reading.
6. The method of claim 6, further comprising reading data from a third location on the storage medium in response to the command, the third location preceding the first and second locations in a direction of movement of the storage medium during reading.
7. A method by which a host processing device reads data from a storage medium of a disk drive, comprising: reading data from a first location on the storage medium in response to a command requesting data at a second location on the storage medium; and reading data from the second location on the storage medium in response to the command, the first location preceding the second location in a direction of movement of the storage medium during reading .
8. The method of claim 7, wherein the first location is adjacent to the second location.
14
9. The method of claim 7, further comprising reading data from a third location on the storage medium in response to the command, the third location following the second location in the direction of movement of the storage medium during reading.
10. The method of claim 9, wherein the third location is adjacent to the second location.
11. The method of claim 7, further comprising receiving the command from a computer program executing on the host processing device.
12. The method of claim 7, further comprising storing data read from the first and second locations in a memory on the host processing device.
13. A computer program stored on a computer- readable medium for reading data from a storage medium, the computer program comprising instructions that cause a computer to : read data on the storage medium in response to a command;
- 15 - store the data in a region of memory; and issue an interrupt after a predetermined portion of the data has been stored in memory.
14. The computer program of claim 13, further comprising instructions that cause the computer to consult a database to determine when to issue the interrupt .
15. The computer program of claim 14, wherein the database comprises instructions for storing the data and for issuing the interrupt .
16. The computer program of claim 14, wherein the database comprises a scatter/gather list.
17. The computer program of claim 13 , wherein the predetermined portion of the data is read from a first location on the storage medium and additional data is read from a second location on the storage medium, the first location preceding the second location in a direction of movement of the storage medium during reading.
- 16
18. The computer program of claim 17, further comprising instructions that cause the computer to read data from a third location on the storage medium in response to the command, the third location preceding the first and second locations in a direction of movement of the storage medium during reading.
19. A computer program stored on a computer- readable medium which causes a host processing device to read data from a storage medium of a disk drive, the computer program comprising instructions that cause the host processing device to: read data from a first location on the storage medium in response to a command requesting data at a second location on the storage medium; and read data from the second location on the storage medium in response to the command, the first location preceding the second location in a direction of movement of the storage medium during reading.
20. The computer program of claim 19, wherein the first location is adjacent to the second location.
17
21. The computer program of claim 19, further comprising instruction that cause the host processing device to read data from a third location on the storage medium in response to the command, the third location following the second location in the direction of movement of the storage medium during reading.
22. The computer program of claim 21, wherein the third location is adjacent to the second location.
23. The computer program of claim 19, further comprising instructions that cause the host processing device to receive the command from a computer program executing on the host processing device.
24. The computer program of claim 19, further comprising instructions that cause the host processing device to store data read from the first and second locations in a memory on the host processing device.
25. An apparatus for reading data from a storage medium, comprising: a memory which stores computer instructions; and
- 18 - a processor which executes the computer instructions to (i) read data on the storage medium in response to a command, (ii) store the data in a region of memory, and (iii) issue an interrupt after a predetermined portion of the data has been stored in memory.
26. The apparatus of claim 25, wherein the processor executes computer instructions to consult a database to determine when to issue the interrupt.
27. The apparatus of claim 26, wherein the database comprises instructions for storing the data and for issuing the interrupt .
28. The apparatus of claim 25, wherein the predetermined portion of data is read from a first location on the storage medium and additional data is read from a second location on the storage medium, the first location preceding the second location in a direction of movement of the storage medium during reading.
29. An apparatus for reading data from a storage medium of a disk drive, comprising:
- 19 - a memory which stores computer instructions; and a processor which executes the computer instructions to (i) read data from a first location on the storage medium in response to a command requesting data at a second location on the storage medium, and (ii) read data from the second location on the storage medium in response to the command, the first location preceding the second location in a direction of movement of the storage medium during reading.
30. The apparatus of claim 29, wherein the first location is adjacent to the second location.
20
PCT/US2000/042612 1999-12-21 2000-12-05 Reading data from a storage medium WO2001046793A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2002-7007920A KR100523183B1 (en) 1999-12-21 2000-12-05 Reading data from a storage medium
AU39722/01A AU3972201A (en) 1999-12-21 2000-12-05 Reading data from a storage medium
EP00992274A EP1261908A2 (en) 1999-12-21 2000-12-05 Reading data from a storage medium
HK03100439.6A HK1048180A1 (en) 1999-12-21 2003-01-17 Reading data from a storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/471,100 US6862657B1 (en) 1999-12-21 1999-12-21 Reading data from a storage medium
US09/471,100 1999-12-21

Publications (3)

Publication Number Publication Date
WO2001046793A2 WO2001046793A2 (en) 2001-06-28
WO2001046793A9 true WO2001046793A9 (en) 2002-05-10
WO2001046793A3 WO2001046793A3 (en) 2002-10-03

Family

ID=23870252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/042612 WO2001046793A2 (en) 1999-12-21 2000-12-05 Reading data from a storage medium

Country Status (8)

Country Link
US (1) US6862657B1 (en)
EP (1) EP1261908A2 (en)
KR (1) KR100523183B1 (en)
CN (1) CN1279429C (en)
AU (1) AU3972201A (en)
HK (1) HK1048180A1 (en)
TW (1) TW561395B (en)
WO (1) WO2001046793A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934807B1 (en) * 2000-03-31 2005-08-23 Intel Corporation Determining an amount of data read from a storage medium
JP4766770B2 (en) * 2000-06-13 2011-09-07 パナソニック株式会社 Storage broadcast service system and reception storage device
US7996623B2 (en) * 2006-06-30 2011-08-09 Seagate Technology Llc Read ahead storage control
GB0722707D0 (en) * 2007-11-19 2007-12-27 St Microelectronics Res & Dev Cache memory
GB0900700D0 (en) 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
TWI488043B (en) * 2009-10-27 2015-06-11 Genesys Logic Inc Accelerated access apparatus and reading and writing methods thereof

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146582A (en) 1989-06-19 1992-09-08 International Business Machines Corp. Data processing system with means to convert burst operations into memory pipelined operations
US5483641A (en) * 1991-12-17 1996-01-09 Dell Usa, L.P. System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities
US5473761A (en) * 1991-12-17 1995-12-05 Dell Usa, L.P. Controller for receiving transfer requests for noncontiguous sectors and reading those sectors as a continuous block by interspersing no operation requests between transfer requests
US5367656A (en) * 1992-03-13 1994-11-22 Bull Hn Information Systems Inc. Controlling cache predictive prefetching based on cache hit ratio trend
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
US5588128A (en) * 1993-04-02 1996-12-24 Vlsi Technology, Inc. Dynamic direction look ahead read buffer
US5708849A (en) 1994-01-26 1998-01-13 Intel Corporation Implementing scatter/gather operations in a direct memory access device on a personal computer
US5652858A (en) 1994-06-06 1997-07-29 Hitachi, Ltd. Method for prefetching pointer-type data structure and information processing apparatus therefor
JP3548616B2 (en) * 1995-01-20 2004-07-28 株式会社日立製作所 Information processing equipment
US5649153A (en) * 1995-06-19 1997-07-15 International Business Machines Corporation Aggressive adaption algorithm for selective record caching
US5623308A (en) 1995-07-07 1997-04-22 Lucent Technologies Inc. Multiple resolution, multi-stream video system using a single standard coder
US5812335A (en) * 1995-09-01 1998-09-22 Adaptec, Inc. Programmable data transfer without sector pulses in a headerless disk drive architecture
US5809560A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation Adaptive read-ahead disk cache
US5822568A (en) 1996-05-20 1998-10-13 Advanced Micro Devices, Inc. System for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller
US5881303A (en) * 1996-07-01 1999-03-09 Sun Microsystems, Inc. Multiprocessing system configured to perform prefetch coherency activity with separate reissue queue for each processing subnode
US5802593A (en) * 1996-09-06 1998-09-01 Intel Corporation Method and apparatus for improving disk drive performance
US5835783A (en) * 1996-09-12 1998-11-10 Intel Corporation Method and apparatus for uploading peripheral control functions to host
US6317810B1 (en) 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
US5845297A (en) * 1997-06-30 1998-12-01 Intel Corporation Disk block relocation de-optimization detection methodology and applications
US6006307A (en) 1997-11-13 1999-12-21 Advanced Micro Devices, Inc. Computer system employing a mirrored memory system for providing prefetch bandwidth
US6058461A (en) 1997-12-02 2000-05-02 Advanced Micro Devices, Inc. Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation
AU2092399A (en) * 1997-12-30 1999-07-19 Genesis One Technologies, Inc. Disk cache enhancer with dynamically sized read request based upon current cachehit rate
US6212603B1 (en) 1998-04-09 2001-04-03 Institute For The Development Of Emerging Architectures, L.L.C. Processor with apparatus for tracking prefetch and demand fetch instructions serviced by cache memory
US6195726B1 (en) * 1999-03-24 2001-02-27 Hewlett-Packard Company Method and apparatus for performing patterned read and write operations
US6317811B1 (en) 1999-08-26 2001-11-13 International Business Machines Corporation Method and system for reissuing load requests in a multi-stream prefetch design
US6449698B1 (en) 1999-08-26 2002-09-10 International Business Machines Corporation Method and system for bypass prefetch data path

Also Published As

Publication number Publication date
KR20030016212A (en) 2003-02-26
CN1279429C (en) 2006-10-11
WO2001046793A3 (en) 2002-10-03
HK1048180A1 (en) 2003-03-21
WO2001046793A2 (en) 2001-06-28
AU3972201A (en) 2001-07-03
KR100523183B1 (en) 2005-10-24
EP1261908A2 (en) 2002-12-04
US6862657B1 (en) 2005-03-01
CN1421002A (en) 2003-05-28
TW561395B (en) 2003-11-11

Similar Documents

Publication Publication Date Title
US5890208A (en) Command executing method for CD-ROM disk drive
JPS57185545A (en) Information processor
WO2001046793A9 (en) Reading data from a storage medium
KR20010050853A (en) Direct access storage device and method for performing write commands
JP3566319B2 (en) Information storage device
JPH04259048A (en) Pre-read data control system using statistic information
EP0982664A3 (en) Coupling host processor to memory subsystem
KR910008678B1 (en) System which controls memory contents
JP4826873B2 (en) Microprocessor system with hot routine memory
JPH0789341B2 (en) Data processing device
JPS56169281A (en) Data processor
JP2526728B2 (en) Disk cache automatic usage method
JP3087329B2 (en) Article identification device
JPH05128050A (en) Method for data retrieval control in electronic computer system
JPH05165579A (en) Mirrored disk controller
WO1994022134A1 (en) Buffer control for data transfer within hard disk during idle periods
JPS57103530A (en) Channel controlling system
JPH0863396A (en) Disk cache device
TW360824B (en) Method of using HD storage space as CD cache
JPH05143457A (en) System and method for high-speed writing from computer system into memory system
JPH03212723A (en) Data transfer path control system
JPS63288342A (en) Disk controller
JPS6385844A (en) Disk cache controller
JPS63155467A (en) Fixed disk control system
JP2003331239A (en) Ic card having memory rearrangement function

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
COP Corrected version of pamphlet

Free format text: PAGES 1/6-6/6, DRAWINGS, REPLACED BY NEW PAGES 1/6-6/6; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

WWE Wipo information: entry into national phase

Ref document number: 2000992274

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020027007920

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 008175403

Country of ref document: CN

AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2000992274

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020027007920

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: JP

WWG Wipo information: grant in national office

Ref document number: 1020027007920

Country of ref document: KR