摘要:
In one embodiment, a method for reading data from a storage-device array including three or more storage devices. The array has a plurality of sector levels, each sector level containing one sector on each storage device in the array at corresponding addresses across the storage devices. Each sector level includes (i) parity data stored on a first storage device and (ii) information stored on the two or more remaining storage devices. The parity data for a current sector level is generated from the information stored at the current sector level on the remaining storage devices. The method includes: (a) generating an instruction for reading (i) the parity data from the first storage device at the current sector level and (ii) the information from the remaining storage devices at the current sector level; (b) receiving an indicator indicating whether one of the remaining storage devices is a degraded storage device; (c) if the indicator does not indicate a degraded storage device, then providing as output the information read from the remaining storage devices at the current sector level; and (d) if the indicator does indicate a degraded storage device, then: (d1) reconstructing information previously stored on the degraded storage device at the current sector level based on (i) the parity data read from the first storage device at the current sector level, and (ii) the information read from each remaining non-degraded storage device at the current sector level; and (d2) providing as output (i) the information read from the one or more non-degraded storage devices at the current sector level and (ii) the reconstructed information.
摘要:
In one embodiment, a method for accessing a physical storage-device array comprising a plurality of storage devices. The method includes (1) obtaining at least one parameter from a profile selected from two or more profiles concurrently defining two or more virtual arrays, each profile defining (i) a different virtual array associated with a corresponding set of storage devices and (ii) a parameter set of one or more parameters used for accessing the virtual array; and (2) generating an instruction, based on the at least one parameter, for accessing information to the virtual array defined by the selected profile.
摘要:
In one embodiment, an apparatus for reading from a physical storage-device array including a plurality of storage devices. The physical storage-device array has a plurality of sector levels, each sector level containing one sector on each storage device in the array at corresponding addresses on across the storage devices. The apparatus includes: (1) a memory adapted to store two or more profiles, each profile defining (i) a virtual array associated with a selected set of the storage devices and (ii) one or more parameters used for accessing information from the virtual array; (2) a buffer (i) having a first portion and a second portion and (ii) coupled to receive data from the storage devices; and (3) a state machine (i) coupled to the buffer and the memory and (ii) adapted to generate two or more successive pairs of instructions. The first instruction of each pair of instructions (i) is based on one or more parameters of a first profile and (ii) is an instruction to read, into the first portion of the buffer, one sector of data from each storage device of a first virtual array; and the second instruction of each pair of instructions (i) is based on one or more parameters of a second profile and (ii) is an instruction to read, into the second portion of the buffer, one sector of data from each storage device of a second virtual array.
摘要:
In one embodiment, the invention provides a method for accessing a physical storage-device array comprising a plurality of storage devices. The method includes (1) obtaining at least one parameter from a profile selected from two or more profiles concurrently defining two or more virtual arrays, each profile defining (i) a different virtual array associated with a corresponding set of storage devices and (ii) a parameter set of one or more parameters used for accessing the virtual array; and (2) generating an instruction, based on the at least one parameter, for accessing, or disallowing access to, information in the virtual array defined by the selected profile, wherein a parameter in each the parameter set defined by each profile indicates whether two or more storage devices in the corresponding virtual array are degraded.
摘要:
In one embodiment, the invention provides a method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices. The method comprises the steps of identifying a disk error associated with the defective storage device; effecting an error recovery pause based on the disk error; processing one or more outstanding data storage or retrieval requests; and generating a new data storage request instructing the physical disk device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the disk device error, whereby the defective storage device is repaired.
摘要:
Various apparatus and methods for controlling data for a redundant array of inexpensive/independent disks (RAID) are presented. For example, in one illustrative embodiment, a controlling apparatus can include a translation device composed substantially entirely of gate-level electronic hardware, wherein the translation device includes a sector sequencer capable of arranging sector units of target data and parity data on a plurality of N disks as a function of block location.
摘要:
In one embodiment, the invention provides a method for accessing a physical storage-device array comprising a plurality of storage devices. The method includes (1) obtaining at least one parameter from a profile selected from two or more profiles concurrently defining two or more virtual arrays, each profile defining (i) a different virtual array associated with a corresponding set of storage devices and (ii) a parameter set of one or more parameters used for accessing the virtual array; and (2) generating an instruction, based on the at least one parameter, for accessing, or disallowing access to, information in the virtual array defined by the selected profile, wherein a parameter in each the parameter set defined by each profile indicates whether two or more storage devices in the corresponding virtual array are degraded.
摘要:
In one embodiment, a method for writing data to a storage-device array (i) including three or more storage devices and (ii) having a plurality of stripes, each stripe having two or more sector levels, each sector level containing one sector on each storage device in the array at corresponding addresses across the storage devices. The method includes: (a) calculating a parity index based on (i) an index value for a current stripe and (ii) the number of storage devices in the array, the parity index identifying a first storage device for parity data for the current stripe; and (b) at each sector level of the current stripe: (b1) writing parity data to the first storage device identified by the parity index; and (b2) writing information to the remaining storage devices.
摘要:
In one embodiment, the invention provides a method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices. The method comprises the steps of identifying a disk error associated with the defective storage device; effecting an error recovery pause based on the disk error; processing one or more outstanding data storage or retrieval requests; and generating a new data storage request instructing the physical disk device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the disk device error, whereby the defective storage device is repaired.
摘要:
Various apparatus and methods for controlling data for a redundant array of inexpensive/independent disks (RAID) are presented. For example, in one illustrative embodiment, a controlling apparatus can include a translation device capable of reading data from a plurality of N disks, wherein the data of the N disks has a format consisting of a sequence of block stripes with each block containing one or more sector stripes, and wherein each sector stripe is formatted such that N−1 of the sectors contain contiguous target data and the remaining sector contains parity data for the other N−1 target data sectors.