Intelligent cache management
First Claim
Patent Images
1. A method of managing cache memory in a storage controller, comprising:
- receiving, at the storage controller, a data operation request;
parsing the data operation request to extract a cache hint from a header in the data operation request, wherein the cache hint is generated by one of a plurality of modules in a software stack executing on a remote processor, and the cache hint identifies a memory block managed by the storage controller;
wherein the cache hint generated by the one of the plurality of modules is selected from a group comprising a Write Through cache hint, a Pin cache hint, an Unpin cache hint, a Sequential scan cache hint, a Priority Cache hint, and a Working Set cache hint; and
managing a cache memory operation for data associated with the memory block in response to the cache hint received by the storage controller;
wherein the cache hint generated by a first module in the software stack is analyzed by a second module in the software stack to determine whether the cache hint conflicts with the second module.
2 Assignments
0 Petitions
Accused Products
Abstract
An exemplary storage network, storage controller, and methods of operation are disclosed. In one embodiment, a method of managing cache memory in a storage controller comprises receiving, at the storage controller, a cache hint generated by an application executing on a remote processor, wherein the cache hint identifies a memory block managed by the storage controller, and managing a cache memory operation for data associated with the memory block in response to the cache hint received by the storage controller.
108 Citations
25 Claims
-
1. A method of managing cache memory in a storage controller, comprising:
-
receiving, at the storage controller, a data operation request; parsing the data operation request to extract a cache hint from a header in the data operation request, wherein the cache hint is generated by one of a plurality of modules in a software stack executing on a remote processor, and the cache hint identifies a memory block managed by the storage controller; wherein the cache hint generated by the one of the plurality of modules is selected from a group comprising a Write Through cache hint, a Pin cache hint, an Unpin cache hint, a Sequential scan cache hint, a Priority Cache hint, and a Working Set cache hint; and managing a cache memory operation for data associated with the memory block in response to the cache hint received by the storage controller; wherein the cache hint generated by a first module in the software stack is analyzed by a second module in the software stack to determine whether the cache hint conflicts with the second module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A storage controller, comprising:
-
an input port to receive a data operation request from a remote computing device; a processor; and a memory module, wherein the memory module comprises logic instructions which, when executed, configure the processor to; parse the data operation request to extract a cache hint from a header in the data operation request, wherein the cache hint is generated by one of a plurality of modules in a software stack executing on a remote computing device, and the cache hint identifies a memory block managed by the storage controller; wherein the cache hint generated by the one of the plurality of modules is selected from a group comprising a Write Through cache hint, a Pin cache hint, an Unpin cache hint, a Sequential scan cache hint, a Priority Cache hint, and a Working Set cache hint; and manage a cache memory operation for data associated with the memory block in response to the cache hint received by the storage controller; wherein the cache hint generated by a first module in the software stack is analyzed by a second module in the software stack to determine whether the cache hint conflicts with the second module. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A storage device, comprising:
-
at least one disk drive; a controller to manage data input/output operations between the disk drive and a remote processor; and a cache memory module communicatively connected to the controller, wherein the controller receives a data operation request and parses the data operation request to extract a cache hint from a header in the data operation request, wherein the cache hint is generated by one of a plurality of modules in a software stack executing on a remote computing device and manages data operations in the cache memory based on the cache hint received by the controller; wherein the cache hint generated by the one of the plurality of modules is selected from a group comprising a Write Through cache hint, a Pin cache hint, an Unpin cache hint, a Sequential scan cache hint, a Priority Cache hint, and a Working Set cache hint; and wherein the cache hint generated by a first module in the software stack is analyzed by a second module in the software stack to determine whether the cache hint conflicts with the second module. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification