You’re using a public version of DrugPatentWatch with 5 free searches available | Register to unlock more free searches. CREATE FREE ACCOUNT

Last Updated: March 28, 2024

Claims for Patent: 7,979,773


✉ Email this page to a colleague

« Back to Dashboard


Summary for Patent: 7,979,773
Title:RAID array auto-initialization (RAAI)
Abstract: A system and method are provided for efficiently initializing a redundant array of independent disks (RAID). The method monitors host write operations and uses that information to select the optimal method to perform a parity reconstruction operation. The bins to which data access write operations have not occurred can be initialized using a zeroing process. In one aspect, the method identifies drives in the RAID array capable of receiving a `WriteRepeatedly` command and leverages that capability to eliminate the need for the RAID disk array controller to provide initialization data for all disk array initialization transfers. This reduces the RAID array controller processor and I/O bandwidth required to initialize the array and further reduces the time to initialize a RAID array. In a different aspect, a method is provided for efficiently selecting a host write process for optimal data redundancy and performance in a RAID array.
Inventor(s): Therene; Christophe (Livermore, CA), Schmidt; James R. (Fremont, CA)
Assignee: Summit Data Systems LLC (Frisco, TX)
Application Number:11/717,318
Patent Claims:1. In a redundant array of independent disks (RAID), a system for initializing a RAID array, the system comprising: a RAID array, each disk drive having an interface to transceive storage data and read/write instructions; a RAID controller including: a RAID array auto initialization (RAAI) memory including a bin access table (BAT) for storing a record of host write activity; a plurality of disk controllers, each disk controller having an interface connected to a corresponding disk drive interface; a microprocessor having an interface connected to the plurality of disk controllers to transceive data and to provide disk access instructions, the microprocessor having a host interface to transceive storage data and a RAAI memory interface; and, wherein the microprocessor accesses the BAT to monitor a first group of bins in the RAID array to which write operations have occurred while the array is online, and a second group of bins to which write operations have not occurred while the array is online, the microprocessor directing the disk drive controllers to initialize the first group of bins using a parity reconstruction process, and to initialize the second group of bins using a zeroing process.

2. The system of claim 1 wherein the microprocessor directs the disk drive controllers to initialize an integral number of RAID array stripes in the second group of bins, where each bin includes a plurality of data and parity stripes.

3. The system of claim 1 wherein the disk drive controllers issue a plurality of zeroing commands to incrementally write zeros data into every data striplet and write zeros data into every parity striplet, for each stripe in the second group of bins.

4. The system of claim 1 wherein the RAAI memory maintains a parity construction progress record (PCPR) of completely initialized bins; wherein the microprocessor receives host-generated data to be written into a bin and accesses the PCPR; wherein the microprocessor directs the disk drive controllers to use a peer-read I/O write process to write the data to the bin in response to the bin having a non-previously constructed parity; and, wherein the microprocessor directs the disk drive controllers to use a Read-Modify-Write (RMW) I/O write process to write the data to the bin in response to the bin having a previously constructed parity.

5. The system of claim 4 wherein the BAT maintains a host activity register and sets a host activity flag for a bin, in response to writing host-generated data into the bin prior to initialization; wherein the microprocessor selects the zeroing initialization process for the second group of bins in response to accessing the host activity register and verifying that the host activity flag has not been set for the second group of bins; and, wherein the microprocessor selects the parity reconstruction initialization process for the first group of bins in response to accessing the host activity register and verifying that the host activity flag has been set for the first group of bins.

6. The system of claim 1 wherein the microprocessor interrogates the disk drive controllers to identify drives in the RAID array capable of receiving a "WriteRepeatedly" command, where a "WriteRepeatedly" command writes a host-generated data pattern repeatedly to media in an identified drive; and, wherein the microprocessor directs the disk drive controllers to initialize the second group of bins using the "WriteRepeatedly" command to simultaneously write zeros data into the identified drives.

7. The system of claim 6 wherein the microprocessor directs disk drive controllers to completely initialize identified drives while the array is offline by sending a single "WriteRepeatedly" command.

8. The system of claim 6 further comprising: a link connecting a first disk drive controller to a plurality of disk drives identified as capable of receiving the "WriteRepeatedly" command, where the link type is selected from a group consisting of remote and local links.

9. The system of claim 6 wherein the disk drive controllers use the "WriteRepeatedly" command to initialize the second group of bins by sending the "WriteRepeatedly" command and a zeros data pattern to each identified drive; and, wherein the microprocessor monitors each identified drive to determine if the transfer of the zeros data pattern to media in the identified drives is complete.

Make Better Decisions: Try a trial or see plans & pricing

Drugs may be covered by multiple patents or regulatory protections. All trademarks and applicant names are the property of their respective owners or licensors. Although great care is taken in the proper and correct provision of this service, thinkBiotech LLC does not accept any responsibility for possible consequences of errors or omissions in the provided data. The data presented herein is for information purposes only. There is no warranty that the data contained herein is error free. thinkBiotech performs no independent verification of facts as provided by public sources nor are attempts made to provide legal or investing advice. Any reliance on data provided herein is done solely at the discretion of the user. Users of this service are advised to seek professional advice and independent confirmation before considering acting on any of the provided information. thinkBiotech LLC reserves the right to amend, extend or withdraw any part or all of the offered service without notice.