Control logic design to support USB cache offload
AssigneeAvago Technologies General IP (Singapore) Pte. Ltd.
InventorsMoby J. Abraham, Lakshmana M. Anupindi, R. Brian B. Skinner, James A. Rizzo, Mark J. Jander
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
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.
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.
Dependencies are inferred from the claim text.