Claims Analysis
Total Claims: 38
Claim 1
Independent Claim
245 words
A computer program product for use with a peripheral storage apparatus including at least one data storage element and a data cache, comprising: a computer program storage medium readable by a digital processing apparatus; and a program means on the program storage medium and including instructions executable by the digital processing apparatus for causing the digital processing apparatus to copy data stored on the data storage element to the data cache by: after an initial power-up or reset of the peripheral storage apparatus and a host computer associated with the peripheral storage apparatus, receiving a read command from the host computer for transferring to the host computer a data record of a program stored on the data storage element; in response to receiving, generating and storing in the peripheral storage apparatus a prefetch table representative of a storage location and length of the data record requested by the initial read command; after a subsequent power-on or reset of the peripheral storage apparatus, and during a second power-on or reset of the host computer, accessing by the peripheral storage apparatus the prefetch table to read the data record into the data cache; and in response to subsequent read commands from the host computer, determining whether records requested by the subsequent read commands are stored in the data cache, and if so, communicating the records from the data cache to the host computer, and otherwise communicating the records from the data storage element to the host computer.
Claim 2
Dependent Claim
245 words
A computer program product for use with a peripheral storage apparatus including at least one data storage element and a data cache, comprising: a computer program storage medium readable by a digital processing apparatus; and a program means on the program storage medium and including instructions executable by the digital processing apparatus for causing the digital processing apparatus to copy data stored on the data storage element to the data cache by: after an initial power-up or reset of the peripheral storage apparatus and a host computer associated with the peripheral storage apparatus, receiving a read command from the host computer for transferring to the host computer a data record of a program stored on the data storage element; in response to receiving, generating and storing in the peripheral storage apparatus a prefetch table representative of a storage location and length of the data record requested by the initial read command; after a subsequent power-on or reset of the peripheral storage apparatus, and during a second power-on or reset of the host computer, accessing by the peripheral storage apparatus the prefetch table to read the data record into the data cache; and in response to subsequent read commands from the host computer, determining whether records requested by the subsequent read commands are stored in the data cache, and if so, communicating the records from the data cache to the host computer, and otherwise communicating the records from the data storage element to the host computer.
Claim 3
Dependent Claim
55 words
The computer program product of claim 1, wherein accessing and determining are repeated for each power-on or reset of the host computer, the program means further causing the digital processing apparatus to: increment a read counter when it is determined that records requested by the subsequent read command are not stored in the data cache.
Claim 4
Dependent Claim
23 words
The computer program product of claim 1, wherein the program means further causes the digital processing apparatus to update the data prefetch table.
Claim 5
Dependent Claim
13 words
The computer program product of claim 1, in combination with the storage apparatus.
Claim 6
Dependent Claim
53 words
The computer program product of claim 2, wherein the program means further causes the digital processing apparatus to: communicate the records from the data storage element to the host computer when the read counter exceeds a predetermined threshold; and set a prefetch flag to inactive when the read counter exceeds the predetermined threshold.
Claim 7
Dependent Claim
12 words
The combination of claim 4, in further combination with the host computer.
Claim 8
Dependent Claim
15 words
The computer program product of claim 4, wherein the storage apparatus is a disk drive.
Claim 9
Dependent Claim
43 words
The computer program product of claim 5, wherein the program means further causes the digital processing apparatus to set the prefetch flag to inactive when a predetermined number of write commands from the host computer to the peripheral storage apparatus have been received.
Claim 10
Dependent Claim
46 words
The computer program product of claim 5, wherein the program means further causes the digital processing apparatus to: after communicating, when the prefetch flag is inactive, determine whether the peripheral storage apparatus is idle and if so, store the prefetch table on the data storage element.
Claim 11
Dependent Claim
15 words
The computer program product of claim 7, wherein the data storage element is a disk.
Claim 12
Dependent Claim
212 words
A computer program product for use with a host computer coupled to a peripheral storage apparatus including at least one data storage element having a program stored thereon and a data cache, comprising: a data storage device for use within a peripheral storage apparatus, the data storage device including a computer usable medium having computer readable program means for loading the program from the peripheral storage apparatus to the host computer during power-on or reset of the host computer, comprising: computer readable code means for receiving a command from the host computer during a power-up or reset of the host computer; computer readable code means for, when the command is a read command, generating and storing in the peripheral storage apparatus a prefetch table representative of at least a storage location of the records requested by the read command for transfer of the records from the data storage element to the data cache for a subsequent power-on or reset of the host computer; computer readable code means for determining whether the records have been stored in the data cache in response to a previous power-on or reset of the host computer; and computer readable code means for communicating the records to the host computer in response to the code means for determining.
Claim 13
Dependent Claim
212 words
A computer program product for use with a host computer coupled to a peripheral storage apparatus including at least one data storage element having a program stored thereon and a data cache, comprising: a data storage device for use within a peripheral storage apparatus, the data storage device including a computer usable medium having computer readable program means for loading the program from the peripheral storage apparatus to the host computer during power-on or reset of the host computer, comprising: computer readable code means for receiving a command from the host computer during a power-up or reset of the host computer; computer readable code means for, when the command is a read command, generating and storing in the peripheral storage apparatus a prefetch table representative of at least a storage location of the records requested by the read command for transfer of the records from the data storage element to the data cache for a subsequent power-on or reset of the host computer; computer readable code means for determining whether the records have been stored in the data cache in response to a previous power-on or reset of the host computer; and computer readable code means for communicating the records to the host computer in response to the code means for determining.
Claim 14
Dependent Claim
33 words
The computer program product of claim 11, wherein the code means for communicating transfers the records from the cache if the records are in the cache, and otherwise from the data storage element.
Claim 15
Dependent Claim
69 words
The computer program product of claim 12, wherein the length of the records is recorded in the prefetch table, and the computer program product further comprises: computer readable code means for updating the prefetch table when a record or the storage location of a record requested during a subsequent power-on or reset of the host computer is different from the storage location or record represented in the prefetch table.
Claim 16
Dependent Claim
106 words
The computer program product of claim 13, further comprising: computer readable code means for incrementing a read counter when records requested by the read command are not stored in the cache; computer readable code means for communicating the records from the data storage element to the host computer when the read counter exceeds a predetermined threshold; computer readable code means for setting a prefetch flag to inactive when the read counter exceeds the predetermined threshold; and computer readable code means for setting the prefetch flag to inactive when a predetermined number of write commands from the host computer to the peripheral storage apparatus have been received.
Claim 17
Dependent Claim
45 words
The computer program product of claim 14, further comprising computer readable code means for, after the communicating step and when the prefetch flag is inactive, determining whether the peripheral storage apparatus is idle and if so, storing the prefetch table on the data storage element.
Claim 18
Dependent Claim
14 words
The computer program product of claim 15, in combination with the peripheral storage apparatus.
Claim 19
Dependent Claim
16 words
The computer program product of claim 16, wherein the peripheral storage apparatus is a disk drive.
Claim 20
Dependent Claim
12 words
The combination of claim 16, in further combination with the host computer.
Claim 21
Dependent Claim
15 words
The computer program product of claim 17, wherein the data storage element is a disk.
Claim 22
Independent Claim
192 words
A method for causing a computer program stored in a data storage element in a peripheral storage apparatus of a computer system to be loaded to a host computer, the method comprising the steps of: after power-up or reset, receiving a read command from the host computer for transferring a data record of a computer program stored on the data storage element to the host computer; in response to receiving, generating and storing in the peripheral storage apparatus a prefetch table representative of a storage location and length of the data record requested by the initial read command; after a subsequent power-on or reset of the peripheral storage apparatus, and during a second power-on or reset of the host computer, accessing by the peripheral storage apparatus the prefetch table to read the data record into the data cache; and in response to subsequent read commands from the host computer, determining whether records requested by the subsequent read commands are stored in the data cache, and if so, communicating the records from the data cache to the host computer, and otherwise communicating the records from the data storage element to the host computer.
Claim 23
Independent Claim
192 words
A method for causing a computer program stored in a data storage element in a peripheral storage apparatus of a computer system to be loaded to a host computer, the method comprising the steps of: after power-up or reset, receiving a read command from the host computer for transferring a data record of a computer program stored on the data storage element to the host computer; in response to receiving, generating and storing in the peripheral storage apparatus a prefetch table representative of a storage location and length of the data record requested by the initial read command; after a subsequent power-on or reset of the peripheral storage apparatus, and during a second power-on or reset of the host computer, accessing by the peripheral storage apparatus the prefetch table to read the data record into the data cache; and in response to subsequent read commands from the host computer, determining whether records requested by the subsequent read commands are stored in the data cache, and if so, communicating the records from the data cache to the host computer, and otherwise communicating the records from the data storage element to the host computer.
Claim 24
Dependent Claim
55 words
The method of claim 20, wherein the accessing and determining steps are repeated for each power-on or reset of the host computer, and the method steps further comprise: incrementing a read counter when it is determined during the determining step that records requested by the subsequent read command are not stored in the data cache.
Claim 25
Dependent Claim
16 words
The method of claim 20, wherein the method steps further include updating the data prefetch table.
Claim 26
Dependent Claim
46 words
The method of claim 21, wherein the method steps further comprise: communicating the records from the data storage element to the host computer when the read counter exceeds a predetermined threshold; and setting a prefetch flag to inactive when the read counter exceeds the predetermined threshold.
Claim 27
Dependent Claim
36 words
The method of claim 23, wherein the method steps further comprise setting the prefetch flag to inactive when a predetermined number of write commands from the host computer to the peripheral storage apparatus have been received.
Claim 28
Dependent Claim
41 words
The method of claim 23, wherein the method steps further comprise: after the communicating step, when the prefetch flag is inactive, determining whether the peripheral storage apparatus is idle and if so, storing the prefetch table on the data storage element.
Claim 29
Dependent Claim
14 words
The method of claim 23, wherein the peripheral storage apparatus is a disk drive.
Claim 30
Dependent Claim
13 words
The method of claim 26, wherein the data storage element is a disk.
Claim 31
Dependent Claim
277 words
A disk drive, comprising: one or more read heads for reading from one or more disks of the disk drive; a data cache comprising a random access memory (RAM); a controller; the controller being operative to execute the following steps after a power-up or reset of the disk drive and a host computer associated with the disk drive: receiving, from the host computer, a read command which requests data records of an application program stored on the one or more disks; generating and storing a prefetch table in the disk drive in response to receiving the read command, the prefetch table representing disk storage location and length of the data records requested by the read command; the controller being operative to execute the following steps for subsequent power-up or resets of the disk drive and host computer: receiving, from the host computer, a subsequent read command which requests data records stored on the one or more disks; prior to receiving the subsequent read command, identifying and locating the data records of the application program on the one or more disks based on the disk storage location and length represented in the prefetch table; prior to receiving the subsequent read command, and upon identifying and locating the data records, reading the data records of the application program from the one or more disks and storing them in the data cache; and in response to receiving the subsequent read command, communicating the prestored data records of the application program from the data cache to the host computer if the subsequent read command requests those data records, and otherwise accessing data records from the one or more disks for communicating.
Claim 32
Dependent Claim
277 words
A disk drive, comprising: one or more read heads for reading from one or more disks of the disk drive; a data cache comprising a random access memory (RAM); a controller; the controller being operative to execute the following steps after a power-up or reset of the disk drive and a host computer associated with the disk drive: receiving, from the host computer, a read command which requests data records of an application program stored on the one or more disks; generating and storing a prefetch table in the disk drive in response to receiving the read command, the prefetch table representing disk storage location and length of the data records requested by the read command; the controller being operative to execute the following steps for subsequent power-up or resets of the disk drive and host computer: receiving, from the host computer, a subsequent read command which requests data records stored on the one or more disks; prior to receiving the subsequent read command, identifying and locating the data records of the application program on the one or more disks based on the disk storage location and length represented in the prefetch table; prior to receiving the subsequent read command, and upon identifying and locating the data records, reading the data records of the application program from the one or more disks and storing them in the data cache; and in response to receiving the subsequent read command, communicating the prestored data records of the application program from the data cache to the host computer if the subsequent read command requests those data records, and otherwise accessing data records from the one or more disks for communicating.
Claim 33
Dependent Claim
27 words
The disk drive according to claim 28, wherein the one or more disks comprise one or more hard disks and the disk drive comprises a hard drive.
Claim 34
Dependent Claim
85 words
The disk drive according to claim 28, wherein the controller is further operative to execute the following steps for subsequent power-up or resets of the disk drive and host computer: determining whether the subsequent read command requests the prestored data records in the data cache; and updating the prefetch table with disk storage location and length corresponding to those data records being requested by the subsequent read command when those data records are not the same as the prestored data records in the data cache.
Claim 35
Dependent Claim
106 words
The disk drive according to claim 28, wherein the one or more disks comprise one or more hard disks and the disk drive comprises a hard drive, and wherein the controller is further operative to execute the following steps for subsequent power-up or resets of the disk drive and host computer: determining whether the subsequent read command requests the prestored data records in the data cache; and updating the prefetch table with disk storage location and length corresponding to those data records being requested by the subsequent read command when those data records are not the same as the prestored data records in the data cache.
Claim 36
Independent Claim
269 words
A method for reducing an initial program load time with use of a hard drive, the method comprising: after a power-up or reset of the hard drive and a host computer associated therewith, the following steps being performed by and at the hard drive: receiving, from the host computer, a read command which requests data records of an application program stored on one or more hard disks of the hard drive; generating and storing a prefetch table in response to receiving the read command, the prefetch table representing disk storage location and length of the data records requested by the read command; for subsequent power-up or resets of the hard drive and host computer, the following steps being performed by and at the hard drive: receiving, from the host computer, a subsequent read command which requests data records stored on the one or more hard disks; prior to receiving the subsequent read command, identifying and locating the data records of the application program on the one or more hard disks based on the disk storage location and length represented in the prefetch table; prior to receiving the subsequent read command, and upon identifying and locating the data records, reading the data records of the application program from the one or more hard disks and storing them in a data cache in the hard drive; and in response to receiving the subsequent read command, communicating the prestored data records of the application program from the data cache if the subsequent read command requests those data records, and otherwise accessing data records from the one or more hard disks for communicating.
Claim 37
Independent Claim
269 words
A method for reducing an initial program load time with use of a hard drive, the method comprising: after a power-up or reset of the hard drive and a host computer associated therewith, the following steps being performed by and at the hard drive: receiving, from the host computer, a read command which requests data records of an application program stored on one or more hard disks of the hard drive; generating and storing a prefetch table in response to receiving the read command, the prefetch table representing disk storage location and length of the data records requested by the read command; for subsequent power-up or resets of the hard drive and host computer, the following steps being performed by and at the hard drive: receiving, from the host computer, a subsequent read command which requests data records stored on the one or more hard disks; prior to receiving the subsequent read command, identifying and locating the data records of the application program on the one or more hard disks based on the disk storage location and length represented in the prefetch table; prior to receiving the subsequent read command, and upon identifying and locating the data records, reading the data records of the application program from the one or more hard disks and storing them in a data cache in the hard drive; and in response to receiving the subsequent read command, communicating the prestored data records of the application program from the data cache if the subsequent read command requests those data records, and otherwise accessing data records from the one or more hard disks for communicating.
Claim 38
Dependent Claim
75 words
The method according to claim 32, further comprising for the subsequent power-up or resets of the hard drive and host computer: determining whether the subsequent read command requests the prestored data records in the data cache; and updating the prefetch table with disk storage location and length of those data records being requested by the subsequent read command when those data records are not the same as the prestored data records in the data cache.