Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
AssigneeNVIDIA Corporation
InventorMichael C. Stolowitz
Life of this patent
Estimating the term…
Abstract
A RAID disk drive controller (FIG. 33) implements disk storage operations, including striping and redundancy operations with multiple disk drives connected via respective SATA ports (520). Configurable data path switch logic (460) provides dynamic configuration of two or more attached drives into one or more arrays. Data transfers are synchronized locally by leveraging the SATA port transport layer FIFO (530). Synchronous transfers allow on-the-fly redundancy (XOR) operations (FIG. 36) for improved performance and reduced hardware complexity. XOR accumulator hardware (FIG. 42-FIG. 43) reduces buffer requirements for multiple DMA channels otherwise required for synchronization, and various narrow and wide striping modes are supported.
Claims20
A method comprising:
- determining whether any drive of a redundant RAID disk array has failed;
- identifying a first drive of the redundant RAID disk array that contains an initial sector of a read request data;
- reading data from the first drive, from the initial sector of the read request up to an end of a block, or to an end of the read request, whichever comes first;
- and
- if the initial sector is stored on a failed drive, reading a corresponding range of sectors from remaining drives of the redundant RAID disk array, computing a boolean XOR function of data read from the remaining drives, and transferring a result “on-the-fly”;
- wherein data is synchronously read from the redundant RAID disk drive array having any number of drives with a single redundant drive, where stored data is striped over the drives with a stripe width of one or more sectors, and a read request size is an integer number of sectors from one up to a capacity of the redundant RAID disk array;
- wherein each of the sectors includes more than two bytes and a minimum transfer length for the synchronously read data is one sector per drive.
Dependencies are inferred from the claim text.