CACHE LOAD BALANCING IN STORAGE CONTROLLERS
First Claim
1. A storage controller of a storage system, the storage controller comprising:
- a host interface operable to receive Input and Output (I/O) operations from a host computer;
a cache memory comprising a Solid State Drive (SSD); and
a cache manager that is distinct from the cache memory and that is operable to determine physical locations in the multiple SSDs that are unused, to identify an unused location that was written to a longer period of time ago than other unused locations, and to store a received I/O operation in the identified physical location,the cache manager further operable to trigger transmission of the stored I/O operations to storage devices of the storage system for processing.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and structure are provided for cache load balancing in storage controllers that utilize Solid State Drive (SSD) caches. One embodiment is a storage controller of a storage system. The storage controller includes a host interface operable to receive Input and Output (I/O) operations from a host computer. The storage controller also includes a cache memory that includes an SSD. Further, the storage controller includes a cache manager that is distinct from the cache memory. The cache manager is able to determine physical locations in the multiple SSDs that are unused, to identify an unused location that was written to a longer period of time ago than other unused locations, and to store a received I/O operation in the identified physical location. Further, the cache manager is able to trigger transmission of the stored I/O operations to storage devices of the storage system for processing.
-
Citations
20 Claims
-
1. A storage controller of a storage system, the storage controller comprising:
-
a host interface operable to receive Input and Output (I/O) operations from a host computer; a cache memory comprising a Solid State Drive (SSD); and a cache manager that is distinct from the cache memory and that is operable to determine physical locations in the multiple SSDs that are unused, to identify an unused location that was written to a longer period of time ago than other unused locations, and to store a received I/O operation in the identified physical location, the cache manager further operable to trigger transmission of the stored I/O operations to storage devices of the storage system for processing. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for operating a storage controller of a storage system, the method comprising:
-
receiving Input and Output (I/O) operations from a host computer at a storage controller that includes a cache memory that comprises a Solid State Drive (SSD); determining physical locations that are unused in the cache memory, via a cache manager of the storage controller that is distinct from the cache memory; identifying an unused location that was written to a longer period of time ago than other unused locations; storing a received I/O operation in the identified physical location; and transmitting the stored I/O operation from the storage controller to a storage device of the storage system. - 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 comprising:
-
receiving Input and Output (I/O) operations from a host computer at a storage controller that includes a cache memory that comprises a Solid State Drive (SSD); determining physical locations that are unused in the cache memory, via a cache manager of the storage controller that is distinct from the cache memory; identifying an unused location that was written to a longer period of time ago than other unused locations; storing a received I/O operation in the identified physical location; and transmitting the stored I/O operation from the storage controller to a storage device of the storage system. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification