Raid controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage
First Claim
1. A write-caching redundant array of inexpensive disks (RAID) controller, comprising:
- a volatile memory;
a non-volatile memory;
a central processing unit (CPU), for managing transfers of posted-write data from host computers to said volatile memory and transfers of said posted-write data from said volatile memory to storage devices when a main power source is supplying power to the RAID controller;
a memory controller, coupled to said volatile memory and said non-volatile memory, wherein said memory controller, rather than said CPU, is configured to flush said posted-write data from said volatile memory to said non-volatile memory when said main power source fails to supply power to the RAID controller; and
at least one capacitor, coupled to provide power to said memory controller, said volatile memory, and said non-volatile memory when said main power supply fails to supply power to the RAID controller, wherein said CPU is excluded from receiving power from said at least one capacitor when said main power supply fails to supply power to the RAID controller.
3 Assignments
0 Petitions
Accused Products
Abstract
A write-caching RAID controller is disclosed. The controller includes a CPU that manages transfers of posted-write data from host computers to a volatile memory and transfers of the posted-write data from the volatile memory to storage devices when a main power source is supplying power to the RAID controller. A memory controller flushes the posted-write data from the volatile memory to the non-volatile memory when main power fails, during which time capacitors provide power to the memory controller, volatile memory, and non-volatile memory, but not to the CPU, in order to reduce the energy storage requirements of the capacitors. During main power provision, the CPU programs the memory controller with information needed to perform the flush operation, such as the location and size of the posted-write data in the volatile memory and various flush operation characteristics.
434 Citations
58 Claims
-
1. A write-caching redundant array of inexpensive disks (RAID) controller, comprising:
-
a volatile memory;
a non-volatile memory;
a central processing unit (CPU), for managing transfers of posted-write data from host computers to said volatile memory and transfers of said posted-write data from said volatile memory to storage devices when a main power source is supplying power to the RAID controller;
a memory controller, coupled to said volatile memory and said non-volatile memory, wherein said memory controller, rather than said CPU, is configured to flush said posted-write data from said volatile memory to said non-volatile memory when said main power source fails to supply power to the RAID controller; and
at least one capacitor, coupled to provide power to said memory controller, said volatile memory, and said non-volatile memory when said main power supply fails to supply power to the RAID controller, wherein said CPU is excluded from receiving power from said at least one capacitor when said main power supply fails to supply power to the RAID controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method for preserving posted-write data in a write-caching redundant array of inexpensive disks (RAID) controller, the method comprising:
-
supplying power, by at least one capacitor, to a volatile memory, a non-volatile memory, and a memory controller of the RAID controller, in response to a loss of main power to the RAID controller;
foregoing supplying power, by the at least one capacitor, to a central processing unit (CPU) of the RAID controller, in response to the loss of main power to the RAID controller, wherein the CPU manages transfers of the posted-write data from host computers to the volatile memory and transfers of the posted-write data from the volatile memory to storage devices when main power is being supplied to the RAID controller prior to the loss thereof; and
flushing posted-write data, by the memory controller rather than by the CPU, from the volatile memory to the non-volatile memory, in response to the loss of main power. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A write-caching redundant array of inexpensive disks (RAID) controller, comprising:
-
a volatile memory;
a non-volatile memory;
a backup circuit, coupled to said volatile memory and said non-volatile memory, configured to flush posted-write data from said volatile memory to said non-volatile memory when a main power source fails to supply power to the RAID controller; and
at least one capacitor, coupled to provide power to said backup circuit, said volatile memory, and said non-volatile memory when said main power supply fails to supply power. - View Dependent Claims (56, 57)
-
-
58. A write-caching redundant array of inexpensive disks (RAID) controller, comprising:
-
a volatile memory;
a non-volatile memory;
a central processing unit (CPU), for managing transfers of posted-write data from host computers to said volatile memory and transfers of said posted-write data from said volatile memory to storage devices when a main power source is supplying power to the RAID controller;
a memory controller, coupled to said volatile memory and said non-volatile memory, wherein said memory controller, rather than said CPU, is configured to flush said posted-write data from said volatile memory to said non-volatile memory when said main power source fails to supply power to the RAID controller; and
at least one battery, coupled to provide power to said memory controller, said volatile memory, and said non-volatile memory when said main power supply fails to supply power to the RAID controller, wherein said CPU is excluded from receiving power from said at least one battery when said main power supply fails to supply power to the RAID controller.
-
Specification