Control logic design to support USB cache offload
First Claim
Patent Images
1. A method operable on a Redundant Array of Independent Drives (RAID) controller that is operable to communicatively couple to a host system through a Peripheral Component Interconnect Express (PCIe) connector, the method comprising:
- monitoring a power supply from the PCIe connector to the RAID controller;
identifying when a power failure from the power supply to the RAID controller has taken place;
enabling an alternate power source for the RAID controller once the power failure is identified;
identifying whether a cache offload is required from cache on the RAID controller to a non-volatile storage device at a time of the power failure;
preparing the RAID controller for the cache offload during the power failure;
off-loading the cache from the RAID controller during the power failure;
determining whether the power supply from the PCIe connector to the RAID controller has been restored in response to completing the cache offload from the RAID controller;
booting the RAID controller if the power supply has been restored; and
disabling the alternate power source to power down the RAID controller if the power supply has not been restored.
8 Assignments
0 Petitions
Accused Products
Abstract
A redundant array of independent drives controller and board controlled cache off-loading during a power failure is described. Methods associated with the use of the redundant array of independent drives controller and board for controlled cache off-loading during a power failure are also described.
10 Citations
18 Claims
-
1. A method operable on a Redundant Array of Independent Drives (RAID) controller that is operable to communicatively couple to a host system through a Peripheral Component Interconnect Express (PCIe) connector, the method comprising:
-
monitoring a power supply from the PCIe connector to the RAID controller; identifying when a power failure from the power supply to the RAID controller has taken place; enabling an alternate power source for the RAID controller once the power failure is identified; identifying whether a cache offload is required from cache on the RAID controller to a non-volatile storage device at a time of the power failure; preparing the RAID controller for the cache offload during the power failure; off-loading the cache from the RAID controller during the power failure; determining whether the power supply from the PCIe connector to the RAID controller has been restored in response to completing the cache offload from the RAID controller; booting the RAID controller if the power supply has been restored; and disabling the alternate power source to power down the RAID controller if the power supply has not been restored. - View Dependent Claims (2, 3, 16)
-
-
4. A Redundant Array of Independent Drives (RAID) storage controller operable to communicatively couple to a host system through a Peripheral Component Interconnect Express (PCIe) connector to control Input/Output (I/O) operations to a plurality of storage devices, the RAID controller comprising:
-
a cache operable to cache data of write I/O requests to the storage devices; power control logic; an alternate power supply communicatively coupled to the power control logic that is operable to supply power to the RAID storage controller; and a Universal Serial Bus (USB) interface operable to communicatively couple to a nonvolatile storage device, wherein the power control logic is further operable to detect a loss of power from the PCIe connector for the RAID storage controller, and responsive to the loss of power, is further operable to; to activate the alternate power supply; to initialize the USB interface using power from the alternate power supply; to perform a cache offload to transfer the cached data to the nonvolatile storage device through the USB interface; determine whether power has returned to the PCIe connector; boot the RAID controller if the power has returned; and disable the alternate power supply to power down the RAID controller if the power has not returned. - View Dependent Claims (5, 6, 7)
-
-
8. A method operable in a Redundant Array of Independent Drives (RAID) storage controller, the RAID storage controller being communicatively coupled to a host system through a Peripheral Component Interconnect Express (PCIe) connector to control Input/Output (I/O) operations of the host system to a plurality of storage devices, the method comprising:
-
caching, in a cache memory of the RAID storage controller, data of write I/O requests directed to the plurality of storage devices; detecting a loss of power from the PCIe connector; and in response to detecting the loss of power; activating an alternate power supply; initializing a Universal Serial Bus (USB) interface using power from the alternate power supply; performing a cache offload by transferring data from the cache memory to a nonvolatile storage device through the USB interface; determining whether power has returned to the PCIe connector; booting the RAID controller if the power has returned; and disabling the alternate power supply to power down the RAID controller if the power has not returned. - View Dependent Claims (9, 10, 11)
-
-
12. A non-transitory computer readable medium for a Redundant Array of Independent Drives (RAID) storage controller, the RAID storage controller being communicatively coupled to a host system through a Peripheral Component Interconnect Express (PCIe) connector to control Input/Output (I/O) operations of the host system to a plurality of storage devices, the computer readable medium comprising instructions that, when directed by processor of the RAID storage controller, direct the RAID storage controller to:
-
cache data of write I/O requests directed to the plurality of storage devices; detect a loss of power from the PCIe connector; and in response to the loss of power; activate an alternate power supply; initialize a Universal Serial Bus (USB) interface using power from the alternate power supply; perform a cache offload to transfer data from the cache memory to a nonvolatile storage device through the USB interface; determine whether power has returned to the PCIe connector; boot the RAID controller if the power has returned; and disable the alternate power supply to power down the RAID controller if the power has not returned. - View Dependent Claims (13, 14, 15)
-
-
17. A method operable on a Redundant Array of Independent Drives (RAID) controller that is operable to communicatively couple to a host system through a Peripheral Component Interconnect Express (PCIe) connector, the method comprising:
-
monitoring power supplied from the PCIe connector to the RAID controller; determining that a power failure from the PCIe connector to the RAID controller has occurred; determining whether an I/O data cache on the RAID controller is dirty responsive to the power failure; and responsive to determining that the I/O data cache is dirty; activating a backup power supply to power the RAID controller; performing a cache offload from the RAID controller to non-volatile memory; determine whether power has returned to the PCIe connector; boot the RAID controller if the power has returned; and disable the alternate power supply to power down the RAID controller if the power has not returned. - View Dependent Claims (18)
-
Specification