Method to allow storage cache acceleration when the slow tier is on independent controller
First Claim
1. A method for providing storage acceleration in a data storage system including at least a first storage tier having a first speed and a second storage tier having a second speed lower than the first speed, said method comprising:
- opening an Application Programming Interface (API) via a first storage controller connected to the first storage tier, the first storage tier including a solid-state drive (SSD);
receiving a query at the first storage controller, the query being provided to the first storage controller via a host mapper of the system, the query being generated based on a input/output (I/O) command issued by a host of the system, the query requesting read data;
when the requested read data is at least one of;
located in a cache of the first storage controller, or located on the SSD connected to the first storage controller, retrieving the requested read data and providing the requested read data to the host mapper in response to the query; and
when the requested read data is not at least one of;
located on the cache of the first controller or located on the SSD connected to the first controller, and when the requested read data is obtained by the host mapper from a second controller connected to a second storage tier, the second storage tier including a hard disk drive (HDD), receiving a copy of the requested read data at the first controller.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a method for providing storage acceleration in a data storage system. In the data storage system described herein, multiple independent controllers may be utilized, such that a first storage controller may be connected to a first storage tier (ex.—a fast tier) which includes a solid-state drive, while a second storage controller may be connected to a second storage tier (ex.—a slower tier) which includes a hard disk drive. The accelerator functionality may be split between the host of the system and the first storage controller of the system (ex.—some of the accelerator functionality may be offloaded to the first storage controller) for promoting improved storage acceleration performance within the system.
8 Citations
19 Claims
-
1. A method for providing storage acceleration in a data storage system including at least a first storage tier having a first speed and a second storage tier having a second speed lower than the first speed, said method comprising:
-
opening an Application Programming Interface (API) via a first storage controller connected to the first storage tier, the first storage tier including a solid-state drive (SSD); receiving a query at the first storage controller, the query being provided to the first storage controller via a host mapper of the system, the query being generated based on a input/output (I/O) command issued by a host of the system, the query requesting read data; when the requested read data is at least one of;
located in a cache of the first storage controller, or located on the SSD connected to the first storage controller, retrieving the requested read data and providing the requested read data to the host mapper in response to the query; andwhen the requested read data is not at least one of;
located on the cache of the first controller or located on the SSD connected to the first controller, and when the requested read data is obtained by the host mapper from a second controller connected to a second storage tier, the second storage tier including a hard disk drive (HDD), receiving a copy of the requested read data at the first controller. - View Dependent Claims (2)
-
-
3. A non-transitory, computer-readable medium having computer-executable instructions for performing a method for providing storage acceleration in a data storage system including at least a first storage tier having a first speed and a second storage tier having a second speed lower than the first speed, said method comprising:
-
generating a query via a host mapper connected to a host of the system, the query being based on an input/output (I/O) command issued by a host of the system, the I/O command being a read command, the query including a request for read data; opening an Application Programming Interface (API) via a first storage controller connected to the first storage tier, the first storage tier including a solid-state drive (SSD); providing the query to the first controller via the host mapper; receiving the query via the first controller; when the requested read data is not at least one of;
located in the cache of the first controller or located on the SSD connected to the first controller, providing a request from the host mapper to a second controller for obtaining the requested read data, the second controller being connected to the second storage tier, the second storage tier including at least one hard disk drive (HDD). - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory, computer-readable medium having computer-executable instructions for performing a method for providing storage acceleration in a data storage system including at least a first storage tier having a first speed and a second storage tier having a second speed lower than the first speed, said method comprising:
-
generating a query via a host mapper connected to a host of the system, the query being based on an input/output (I/O) command issued by a host of the system, the I/O command being a read command, the query including a request for read data; opening an Application Programming Interface (API) via a first storage controller connected to the first storage tier, the first storage tier including a solid-state drive (SSD); providing the query to the first controller via the host mapper; receiving the query via a cache engine of the first controller; when the requested read data is at least one of;
located in a cache of the first controller, or located on a SSD connected to the first controller, retrieving the requested read data and providing the requested read data to the host mapper in response to the query; andwhen the requested read data is not at least one of;
located in the cache of the first controller, or located on the SSD connected to the first controller, providing a request from the host mapper to the second controller for obtaining the requested read data, the second controller being connected to at least one hard disk drive (HDD). - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification