Methods and systems using solid-state drives as storage controller cache memory
First Claim
Patent Images
1. A system comprising:
- a plurality of storage controllers adapted to couple with one or more host systems;
a plurality of storage devices for persistent storage of user data received from the one or more host systems;
a switched fabric communication medium coupling the plurality of storage controllers with each of the plurality of storage devices; and
a solid-state drive (SSD);
wherein each of the plurality of storage controllers is coupled through the switched fabric communication medium with the SSD, each of the plurality of storage controllers uses a different portion of the SSD as a cache memory, andeach of the plurality of storage controllers is operable to assume control for a failed storage controller by accessing, via the switched fabric communication medium, cached data for the failed storage controller in a portion of the SSD used by the failed storage controller.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for using one or more solid-state drives (SSDs) as a shared cache memory for a plurality of storage controllers coupled with the SSDs and coupled with a plurality of storage devices through a common switched fabric communication medium. All controllers share access to the SSDs through the switched fabric and thus can assume control for a failed controller by, in part, accessing cached data of the failed controller in the shared SSDs.
-
Citations
20 Claims
-
1. A system comprising:
-
a plurality of storage controllers adapted to couple with one or more host systems; a plurality of storage devices for persistent storage of user data received from the one or more host systems; a switched fabric communication medium coupling the plurality of storage controllers with each of the plurality of storage devices; and a solid-state drive (SSD); wherein each of the plurality of storage controllers is coupled through the switched fabric communication medium with the SSD, each of the plurality of storage controllers uses a different portion of the SSD as a cache memory, and each of the plurality of storage controllers is operable to assume control for a failed storage controller by accessing, via the switched fabric communication medium, cached data for the failed storage controller in a portion of the SSD used by the failed storage controller. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a plurality of storage controllers adapted to couple with one or more host systems; a plurality of storage devices for persistent storage of user data received from the one or more host systems; a switched fabric communication medium coupling the plurality of storage controllers with each of the plurality of storage devices, the switched fabric communication medium comprising two switching devices, wherein each switching device comprises a solid-state drive (SSD), and each SSD is used to cache data received from the plurality of storage controllers in processing write requests from attached host systems directed to one or more of the plurality of storage devices, and wherein each of the two switching devices mirrors cached data from its SSD to the SSD of the other of the two switching devices using the switched fabric communication medium, wherein each of the plurality of storage controllers uses a different portion of the SSDs as a cache memory, and each of the plurality of storage controllers is operable to assume control for a failed storage controller by accessing, via the switched fabric communication medium, cached data for the failed storage controller in a portion of the SSDs used by the failed storage controller. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method operable in a system, the system comprising a plurality of storage controllers coupled with a plurality of storage devices through a switched fabric communication medium, the system further comprising a solid-state drive (SSD), wherein each of the plurality of storage controllers is coupled through the switched fabric communication medium to the SSD, and each of the plurality of storage controllers uses a different portion of the SSD as a cache memory, the method comprising:
-
receiving a write request in a storage controller of the plurality of storage controllers, the write request directed to a logical volume configured on portions of one or more of the plurality of storage devices; caching data associated with the write request from the storage controller into the SSD; receiving another write request in another storage controller of the plurality of storage controllers, the write request directed to a logical volume configured on portions of one or more of the plurality of storage devices; caching data associated with the other write request from the other storage controller into the SSD; flushing cached data from the SSD for persistent storage; and assuming control for a failed storage controller by accessing, via the switched fabric communication medium, cached data for the failed storage controller in a portion of the SSD used by the failed storage controller. - View Dependent Claims (16, 17, 18)
-
-
19. A method operable in a system, the system comprising a plurality of storage controllers coupled with a plurality of storage devices through a switched fabric communication medium, the switched fabric communication medium comprising two switching devices coupling each of the plurality of storage controllers with each of the plurality of storage devices, each switching device comprising a solid-state drive (SSD), wherein each of the plurality of storage controllers is coupled through the switched fabric communication medium with each of the SSDs, and each of the plurality of storage controllers uses a different portion of the SSD as a cache memory, the method comprising:
-
receiving a write request in a storage controller of the plurality of storage controllers, the write request directed to a logical volume configured on portions of one or more of the plurality of storage devices; caching data associated with the write request from the storage controller into the SSD of one or more of the switching devices; synchronizing cached data between the two switching devices; flushing cached data from the SSD of one or more of the switching devices to the logical volume for persistent storage; receiving another write request in another storage controller of the plurality of storage controllers, the other write request directed to a logical volume configured on portions of one or more of the plurality of storage devices; caching data associated with the other write request from the other storage controller into the SSD of one or more of the switching devices; and assuming control for a failed storage controller by accessing, via the switched fabric communication medium, cached data for the failed storage controller in a portion of the SSDs used by the failed storage controller. - View Dependent Claims (20)
-
Specification