Efficient parity operations
AssigneeHewlett-Packard Development Company, L.P.
InventorMichael B. Jacobson
Life of this patent
Estimating the term…
Abstract
A disk controller includes memory that is accessible by both a microprocessor and hardware parity logic. Parity-related operations are identified by scenario, and parity coefficient subsets are stored in a memory table for each different parity-related calculation scenario. To perform a particular parity-related operation, the microprocessor determines the operation's scenario and identifies the corresponding coefficient subset. The hardware parity logic is then instructed to perform the appropriate parity computation, using the identified coefficient subset.
Claims13
A method of performing parity operations in a redundant data storage system that utilizes a plurality of data segments and at least two corresponding parity segments, wherein the parity segments are derived from the data segments and from parity coefficients corresponding to respective data segments, and wherein there are different parity operations involving different subsets of the parity coefficients, the method comprising the following steps:
- pre-selecting parity coefficient subsets for use in the different parity operations;
- storing all of the pre-selected parity coefficient subsets in a memory;
- when performing a particular parity operation, determining which of the stored subsets of parity coefficients is needed for the particular parity operation;
- reading the determined subset of parity coefficients from the memory;
- performing the particular parity operation with the subset of parity coefficients that was read from the memory:
A method of accessing pre-selected subsets of values, wherein the respective subsets contain all possible ranges px through py of a base set of N values referred to as p0 through pN−1, the method comprising the following steps:
- forming groups of the subsets, wherein the groups correspond respectively to different subset sizes;
- packing the groups of subsets in order of increasing subset size in a linear memory array;
- calculating an offset in the linear memory array of a particular group i corresponding to a subset size Li in accordance with a predefined function of N and Li;
- reading a subset of values from the particular group i at the calculated offset in the linear memory array.
A disk controller that performs parity operations in a redundant data storage system that utilizes a plurality of data segments and at least two corresponding parity segments, wherein the parity segments are derived from the data segments and from parity coefficients corresponding to respective data segments, and wherein there are different parity operations involving different subsets of parity coefficients, comprising:
- a memory containing stored subsets of parity coefficients corresponding respectively to different parity-related computation scenarios;
- hardware parity computation logic configured to any particular parity-related operation by (a) determining the scenario of the operation. (b) reading the corresponding subset of parity coefficients from the memory, and (c) performing the particular parity-related operation with the subset of parity coefficients read from the memory.
Dependencies are inferred from the claim text.