System method and circuit for retrieving into cache data from one or more mass data storage devices
First Claim
1. A circuit for retrieving some or all of the data blocks of a logical unit into a cache from one or more mass data storage devices, said system comprising:
- a cache memory; and
two or more controllers,wherein each of said controllers includes a communication module and is associated with one or more mass data storage devices;
wherein a first controller is adapted to cause a second controller to retrieve a data block associated with a logical unit by transmitting a signal to the second controller via their respective communication modules;
wherein said first controller is adapted to signal one or more other controllers whether it has received one or more data block requests associated with the logical unit; and
wherein at least one prefetch decision module is adapted to trigger the retrieval of data blocks based on data block requests received by a controller with which it is associated and/or based on data block requests received by other controllers.
2 Assignments
0 Petitions
Accused Products
Abstract
According to some embodiments of the present invention, a data storage system may include a plurality of controllers connected or otherwise associated with one or more mass data storage devices. One controller may signal to one or more other controllers an indication as for which data blocks it has received requests. A prefetch decision module on a controller may decide to prefetch some or all of the data blocks associated with a given logical data unit based on data block requests it has received and based on requests received by other controllers. A prefetch decision module on a first controller may signal one or more other controllers to prefetch one or more data blocks associated with a given logical unit and which reside on mass storage devices either connected or otherwise associated with each of the one or more controllers.
9 Citations
6 Claims
-
1. A circuit for retrieving some or all of the data blocks of a logical unit into a cache from one or more mass data storage devices, said system comprising:
-
a cache memory; and two or more controllers, wherein each of said controllers includes a communication module and is associated with one or more mass data storage devices; wherein a first controller is adapted to cause a second controller to retrieve a data block associated with a logical unit by transmitting a signal to the second controller via their respective communication modules; wherein said first controller is adapted to signal one or more other controllers whether it has received one or more data block requests associated with the logical unit; and wherein at least one prefetch decision module is adapted to trigger the retrieval of data blocks based on data block requests received by a controller with which it is associated and/or based on data block requests received by other controllers. - View Dependent Claims (2)
-
-
3. A system for retrieving some or all of the data blocks of a logical unit into a cache from one or more mass data storage devices, said system comprising:
-
a cache memory; a host device; and two or more controllers, wherein each of said controllers includes a communication module and is associated with one or more mass data storage devices; wherein a first controller is adapted to cause a second controller to retrieve a data block associated with a logical unit by transmitting a signal to the second controller via their respective communication modules, wherein said first controller is adapted to signal one or more other controllers whether it has received from the host device one or more data block requests associated with the logical unit, and wherein at least one prefetch decision module is adapted to trigger the retrieval of data blocks based on data block requests received by a controller with which it is associated and/or based on data block requests received by other controllers. - View Dependent Claims (4)
-
-
5. A method of retrieving data blocks into a cache from one or more mass storage devices, comprising:
-
determining based on one or more data requests received by one or more controllers that some or all of the data blocks associated with a logical unit should be prefetched; retrieving by two or more controllers some or all of the data blocks associated with the logical unit into the cache; transmitting by a first controller a signal to a second controller instructing the second controller to retrieve data blocks associated with a logical unit upon the first controller determining that some or all of the data blocks associated with the logical unit should be prefetched into the cache; and transmitting by the first controller a signal to a plurality of controllers instructing the controllers to retrieve data blocks associated with a logical unit upon the first controller determining that some or all of the data blocks associated with the logical unit should be prefetched into the cache.
-
-
6. A method of retrieving data blocks into a cache from one or more mass storage devices, said method comprising:
-
determining based on one or more data requests received by one or more controllers that some or all of the data blocks associated with a logical unit should be prefetched; and retrieving by two or more controllers some or all of the data blocks associated with the logical unit into the cache; wherein determining comprises a first controller receiving a signal from at least a second controller indicating that the second controller received one or more requests for a data block associated with the logical unit, wherein determining comprises the first controller receiving a request for a block associated with the logical unit, and wherein the determining that some or all of the data blocks associated with the logical unit should be prefetched into the cache is based on data block requests received by the first controller and based on signal received from at least one other controller indicating that the other controller has also received a request for the data at least one data block associated with the logical unit.
-
Specification