Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
334 words
A method for operating a cache memory system serving a host computer, said cache memory system including a mass storage device and a cache memory having a plurality of logical blocks, each logical block having a beginning and an end, and each logical block containing one or more sectors, said method comprising the steps of: providing a first logical block of said cache memory for containing data accessed by said host; and performing a cache ahead operation comprising the steps of: determining that there is no second logical block of said cache memory which contains data that is stored at one or more locations within said mass storage device adjacent a first side of data stored in said first logical block of said cache memory, said first side being selected as a first one of the beginning and the end of data stored in said first logical block; determining a first distance measured in sectors between a first side of the data accessed by said host which is stored within said cache memory and a first side of said first logical block of said cache memory, said first side of said first logical block being selected as one of the beginning and the end of said first logical block; based on the size of the current host I/O operation, measured in sectors, determining the number of sequential host I/O operations required to transfer to said host computer data located within said cache memory between said data accessed by said host and said first side of said first logical block; determining if said number of host I/O operations required is less than a first preselected number; and if said number of host I/O operations required is less than said first preselected number, copying into a second logical block of said cache memory data which is stored at one or more locations within said mass storage device adjacent data corresponding to data stored at said first side of said first logical block of said cache memory.
Claim 2
Independent Claim
334 words
A method for operating a cache memory system serving a host computer, said cache memory system including a mass storage device and a cache memory having a plurality of logical blocks, each logical block having a beginning and an end, and each logical block containing one or more sectors, said method comprising the steps of: providing a first logical block of said cache memory for containing data accessed by said host; and performing a cache ahead operation comprising the steps of: determining that there is no second logical block of said cache memory which contains data that is stored at one or more locations within said mass storage device adjacent a first side of data stored in said first logical block of said cache memory, said first side being selected as a first one of the beginning and the end of data stored in said first logical block; determining a first distance measured in sectors between a first side of the data accessed by said host which is stored within said cache memory and a first side of said first logical block of said cache memory, said first side of said first logical block being selected as one of the beginning and the end of said first logical block; based on the size of the current host I/O operation, measured in sectors, determining the number of sequential host I/O operations required to transfer to said host computer data located within said cache memory between said data accessed by said host and said first side of said first logical block; determining if said number of host I/O operations required is less than a first preselected number; and if said number of host I/O operations required is less than said first preselected number, copying into a second logical block of said cache memory data which is stored at one or more locations within said mass storage device adjacent data corresponding to data stored at said first side of said first logical block of said cache memory.
Claim 3
Dependent Claim
39 words
A method as in claim 1 wherein said first distance is a forward distance measured in sectors from the end of said data accessed by said host to the end of said first logical block of said cache memory.
Claim 4
Dependent Claim
39 words
A method as in claim 1 wherein said first distance is a backward distance measured in sectors from the beginning of said data accessed by said host to the beginning of said first logical block of said cache memory.
Claim 5
Dependent Claim
34 words
A method as in claim 1 wherein said plurality of logical blocks of said cache memory comprise a plurality of logical blocks dynamically assigned to correspond to logical blocks of said mass storage device.
Claim 6
Dependent Claim
57 words
A method as in claim 1 wherein said step of copying comprises the steps of: determining if data to be copied from said mass storage device has already been stored within said cache memory; and if not, copying said data to be copied from said mass storage device into a second logical block of said cache memory.
Claim 7
Dependent Claim
34 words
A method as in claim 1 wherein said step of performing a cache ahead operation is performed at a lower priority than other requests for access to data stored in said mass storage device.
Claim 8
Dependent Claim
32 words
A method as in claim 1 wherein said step of copying is performed using a data channel separate from a data path used by a host to access said cache memory system.
Claim 9
Dependent Claim
309 words
A method as in claim 1 which further comprises the steps of: if said number of host I/O operations required is greater than said first preselected number, or if it has been determined that there is a second logical block of said cache memory which contains data that is stored at one or more locations within said mass storage device adjacent the first side of data stored in said first logical block of said cache memory; determining that there is no third logical block of said cache memory which contains data that is stored at one or more locations within said mass storage device adjacent a second side of data stored in said first logical block of said cache memory, said second side being selected as a second one of the beginning and the end of data stored in said first logical block; determining a second distance measured in sectors between the first side of the data accessed by said host which is stored within said cache memory and a second side of said first logical block of said cache memory; based on the size of the current host I/O operation, measured in sectors, determining a second number of sequential host I/O operations required to transfer to said host computer data located within said cache memory between said data accessed by said host and said second side of said first logical block; determining if said second number of host I/O operations required is less than a second preselected number; and if said second number of host I/O operations required is less than said second preselected number, copying into a third logical block of said cache memory data which is stored at one or more locations within said mass storage device adjacent data corresponding to data stored at said second side of said first logical block of said cache memory.
Claim 10
Dependent Claim
34 words
A method as in claim 8 wherein said steps of performing a cache ahead operation is performed at a lower priority than other requests for access to data stored in said mass storage device.
Claim 11
Dependent Claim
32 words
A method as in claim 8 wherein said steps of copying are performed using a data channel separate from a data path used by a host to access said cache memory system.
Claim 12
Dependent Claim
34 words
A method as in claim 8 wherein said plurality of logical blocks of said cache memory comprise a plurality of logical blocks dynamically assigned to correspond to logical blocks of said mass storage device.