Method and apparatus for accessing a striped configuration of disks
AssigneeAdaptec, Inc.
InventorMadhuresh Nagshain
Life of this patent
Estimating the term…
Abstract
Broadly speaking, a method and an apparatus is provided for processing access commands directed to a striped configuration of disks. More specifically, the method and apparatus determines a physical block address corresponding to a logical address in a redundant array of independent disks level 0 (RAID 0) system. Bit-level operations are incorporated to determine a disk in the RAID 0 system and a block number on the disk that corresponds to a particular logical address. Since the bit-level operations replace traditionally required division and modulo operations, the method and apparatus provides for more efficient processing of access commands directed to the RAID 0 system.
Claims24
A method for processing an access command directed to a striped configuration of disks, comprising:
- deriving a set of parameters based on specifications of the striped configuration of disks, the set of parameters representing inputs for processing the access command;
- receiving the access command, the access command being directed to a starting address within the striped configuration of disks;
- performing a first sequence of bit-level operations using a first subset of parameters from the set of parameters to determine a disk of the striped configuration of disks containing the starting address, wherein the first sequence of bit-level operations includes at least one bit-wise shift operation and at least one bit-wise conjunction operation;
- and
- performing a second sequence of bit-level operations using a second subset of parameters from the set of parameters to determine a block number on the disk containing the starting address, the block number corresponding to the starting address, wherein the second sequence of bit-level operations includes at least one bit-wise shift operation and at least one bit-wise conjunction operation.
A method for processing an access command directed to a striped configuration of disks, comprising:
- establishing a first shift value and a first mask value associated with a number of blocks per stripe in the striped configuration of disks;
- establishing a second shift value and a second mask value associated with a number of disks in the striped configuration of disks;
- establishing a third mask value associated with the second shift value and the number of blocks per stripe in the striped configuration of disks;
- receiving a disk access command directed to a starting logical address;
- determining a disk containing the starting logical address using the first shift value and the second mask value;
- determining a block number corresponding to the starting logical address using the third mask value, the second shift value, and the first mask value, the block number being defined relative to the disk containing the starting logical address.
An apparatus for processing an access command directed to a starting logical address within a redundant array of independent disks (RAID) level 0 system, comprising:
- a first arrangement of circuitry configured to establish a first shift value and a first mask value associated with a number of blocks per stripe in the RAID level 0 system;
- a second arrangement of circuitry configured to establish a second shift value and a second mask value associated with a number of disks in the RAID level 0 system;
- a third arrangement of circuitry configured to establish a third mask value associated with the second shift value and the number of blocks per stripe in the RAID level 0 system;
- a fourth arrangement of circuitry configured to determine a disk containing the starting logical address using the first shift value and the second mask value;
- and
- a fifth arrangement of circuitry configured to determine a block number corresponding to the starting logical address using the third mask value, the second shift value, and the first mask value, the block number being defined relative to the disk containing the starting logical address.
Dependencies are inferred from the claim text.