Mechanisms and techniques allow a host computer system to control caching
operations within a data storage system. In a typical implementation, the
system of the invention operates within a host computer system to
intercept requests for access to data stored within a data storage system
that originate from applications, programs or other processes that perform
(e.g., execute) on the host computer system or another computer system.
Once intercepted, the host computer can examine such a request for access
to data to determine if the request matches any prefetch criteria defined
within a prefetch database provided by the system of the invention. As an
example, prefetch criteria defined in a prefetch database can specify
various requestors (e.g., applications, programs, processes, users, or the
like) that can access data (e.g., specific files, databases, volumes, data
types or the like) stored within the data storage system according to
various data access techniques (e.g., filesystems command such as open,
read, write, seek and so forth). If a request for access to data matches
prefetch criteria, the host computer configured with the invention
determines prefetch information for related data related to data specified
in the request based on the matching prefetch criteria. The prefetch
information indicates the manner (e.g., amount, permanence, etc.) in which
related data is to be cached in the data storage system. The host computer
also obtains storage information for the related data that indicates the
location of the related data stored within the data storage system. Using
the prefetch information and the storage information, the invention
generates one or more prefetch commands which indicate what related data
is to be cached within the data storage system and from what storage
locations within the data storage system that related data is to be
obtained. The prefetch command is then transmitted to the data storage
system to cause the data storage system to cache the related data.
I meccanismi e le tecniche permettono che un sistema dell'elaboratore ospite controlli nascondere i funzionamenti all'interno di un sistema di memorizzazione di dati. In un'esecuzione tipica, il sistema dell'invenzione funziona all'interno di un sistema dell'elaboratore ospite per intercettare le richieste per accesso ai dati memorizzati all'interno di un sistema di memorizzazione di dati che provengono dalle applicazioni, dai programmi o da altri processi che effettuano (per esempio, esegua) sul sistema dell'elaboratore ospite o su un altro sistema di elaborazione. Una volta che intercettato, l'elaboratore ospite può esaminare una tal richiesta per accesso ai dati di determinare se la richiesta abbina qualunque test di verifica del prefetch definiti all'interno di una base di dati del prefetch fornita dal sistema dell'invenzione. Come esempio, i test di verifica del prefetch definiti in una base di dati del prefetch possono specificare i vari richiedenti (per esempio, applicazioni, programmi, processi, utenti, e simili) che possono accedere ai dati (per esempio, lime specifiche, basi di dati, volumi, tipi di dati e simili) memorizzati all'interno del sistema di memorizzazione di dati secondo le varie tecniche di accesso di dati (per esempio, i filesystems comandano come aperto, colto, scriva, cerchi e così via). Se una richiesta per accesso ai dati abbina i test di verifica del prefetch, l'elaboratore ospite configurato con l'invenzione determina le informazioni del prefetch per i dati relativi relativi ai dati specificati nella richiesta basata sui test di verifica di corrispondenza del prefetch. Le informazioni del prefetch indicano il modo (per esempio, importo, permanence, ecc.) in quali dati relativi devono essere nascosti nel sistema di memorizzazione di dati. L'elaboratore ospite inoltre ottiene le informazioni di registrazione per i dati relativi che indicano la posizione dei dati relativi memorizzati all'interno del sistema di memorizzazione di dati. Usando le informazioni del prefetch e le informazioni di registrazione, l'invenzione genera uno o più ordini del prefetch che indicano che dati relativi devono essere nascosti all'interno del sistema di memorizzazione di dati e da che posizioni di immagazzinaggio all'interno del sistema di memorizzazione di dati che i dati relativi devono essere ottenuti. L'ordine del prefetch allora è trasmesso al sistema di memorizzazione di dati indurre il sistema di memorizzazione di dati a nascondere i dati relativi.