Patent ID: 7624091

Claim:
A method for reading data from a storage device in a data storage system including the storage device, a metadata server, and a plurality of host computers, wherein the storage device includes disk devices and a cache memory, stores data in the disk devices in blocks, and caches a part of the data in the cache memory, wherein each of the plurality of host computers manages the data stored in the storage device in files, and wherein the metadata server manages metadata indicating a relationship between the files and the blocks, and includes a prefetch rule table storing information indicating whether a prefetch operation should be operated for each of the plurality of host computers, the method for reading the data comprising the steps of: (a) issuing an inquiry about metadata of a certain file to be read out from a certain host computer to the metadata server; (b) replying to the inquiry from the metadata server to the certain host computer by sending metadata of the certain file to the certain host computer; (c) before sending metadata of the certain file to the certain host computer, determining, by the metadata server, whether the prefetch operation should be operated for the certain host computer issuing the inquiry, by using an ID of the certain host computer included in the inquiry and the prefetch rule table storing information indicating whether the prefetch operation should be operated for a host computer identified by the ID; (d) if the prefetch operation should be operated for the certain host computer, from the metadata server, instructing the storage device to cache data of the certain file in cache memory from the disk devices; (e) after caching data in the cache memory, issuing, from the certain host computer to the storage device, a read request for reading out the data of the certain file based on the metadata received from the metadata server; and (f) sending, from the storage device to the host computer, the data of the certain file cached in the cache memory in response to the read request.