REDUCING WRITES TO SOLID STATE DRIVE CACHE MEMORIES OF STORAGE CONTROLLERS
First Claim
1. A storage controller comprising:
- a non-volatile flash cache memory;
a primary memory that is distinct from the cache memory; and
a memory manager operable to receive data for storage in the cache memory, to generate a hash key from the received data, to compare the hash key to hash values for entries in the cache memory, to write the received data to the cache memory if the hash key does not match one of the hash values, and to modify the primary memory instead of writing to the cache if the hash key matches a hash value in order to reduce the amount of data written to the cache memory.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and structure are provided for reducing the number of writes to a cache of a storage controller. One exemplary embodiment includes a storage controller that has a non-volatile flash cache memory, a primary memory that is distinct from the cache memory, and a memory manager. The memory manager is able to receive data for storage in the cache memory, to generate a hash key from the received data, and to compare the hash key to hash values for entries in the cache memory. The memory manager can write the received data to the cache memory if the hash key does not match one of the hash values. Also, the memory manager can modify the primary memory instead of writing to the cache if the hash key matches a hash value, in order to reduce the amount of data written to the cache memory.
51 Citations
20 Claims
-
1. A storage controller comprising:
-
a non-volatile flash cache memory; a primary memory that is distinct from the cache memory; and a memory manager operable to receive data for storage in the cache memory, to generate a hash key from the received data, to compare the hash key to hash values for entries in the cache memory, to write the received data to the cache memory if the hash key does not match one of the hash values, and to modify the primary memory instead of writing to the cache if the hash key matches a hash value in order to reduce the amount of data written to the cache memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving, at a storage controller, data for storage in a non-volatile flash cache memory of the storage controller; generating a hash key from the received data, via a memory manager of the storage controller; comparing the hash key to hash values for entries in the cache; writing the data to the cache if the hash key does not match one of the hash values; and modifying a primary memory of the storage controller that is distinct from the cache memory, instead of writing to the cache, if the hash key matches a hash value. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium embodying programmed instructions which, when executed by a processor, are operable for performing a method of operating a storage controller, the method comprising:
-
receiving, at the storage controller, data for storage in a non-volatile flash cache memory of the storage controller; generating a hash key from the received data, via a memory manager of the storage controller; comparing the hash key to hash values for entries in the cache; writing the data to the cache if the hash key does not match one of the hash values; and modifying a primary memory of the storage controller that is distinct from the cache memory, instead of writing to the cache, if the hash key matches a hash value. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification