Optimization of storage device accesses in RAID systems
First Claim
1. In a data storage system comprising N storage devices, a method comprising:
- performing a single access to each storage device of a first sequence of storage devices to obtain a data element from each storage device of the first sequence, the first sequence advancing from a first storage device to an N−
1th storage device, and the data elements from the storage devices of the first sequence forming a first subset of N−
1 data elements;
performing a first dual access to an Nth storage device of the N storage devices to obtain a first data element and a second data element, the first subset of N−
1 data elements and the first data element forming a first set of N data elements;
performing a first commutative operation using each data element of the first set of N data elements to generate a first result data; and
storing the first result data.
32 Assignments
0 Petitions
Accused Products
Abstract
A result value, such as a parity value, for a set of corresponding data elements from a plurality of storage devices is determined using a commutative operation. When accessing the set of corresponding data elements from a plurality of storage devices, a dual access can be performed for the storage device accessed last for the set of corresponding data elements so as to also obtain a data element from the last-accessed storage device for the next parity calculation. As a result, the number of storage device accesses can be reduced compared to conventional systems whereby a single access is performed for each storage device to obtain a single data element from the storage device.
-
Citations
20 Claims
-
1. In a data storage system comprising N storage devices, a method comprising:
-
performing a single access to each storage device of a first sequence of storage devices to obtain a data element from each storage device of the first sequence, the first sequence advancing from a first storage device to an N−
1th storage device, and the data elements from the storage devices of the first sequence forming a first subset of N−
1 data elements;performing a first dual access to an Nth storage device of the N storage devices to obtain a first data element and a second data element, the first subset of N−
1 data elements and the first data element forming a first set of N data elements;performing a first commutative operation using each data element of the first set of N data elements to generate a first result data; and storing the first result data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
performing a first access operation to a first storage device of a plurality of storage devices to obtain a first data element from the first storage device; storing the first data element at a first-in first-out (FIFO) buffer; performing a second access operation to a second storage device of the plurality of storage devices to obtain a second data element and third data element from the second storage device, the second access operation performed subsequent to the first access operation; storing the second data element at the FIFO buffer subsequent the first data element; storing the third data element at the FIFO buffer subsequent to the second data element; performing a third access operation to the first storage device to obtain a fourth data element and a fifth data element from the storage device, the third access operation performed subsequent to the second access operation; storing the fourth data element at the FIFO buffer subsequent to the third data element; storing the fifth data element at the FIFO buffer subsequent to the fourth data element; obtaining the first data element and the second data element from the FIFO buffer; performing a first commutative operation using the first data element and second data element to generate a first result data; storing the first result data; obtaining the third data element and the fourth data element from the FIFO buffer subsequent to obtaining the first data element and the second data element from the FIFO buffer; performing a second commutative operation using the third data element and the fourth data element to generate a second result data; and storing the second result data. - View Dependent Claims (13, 14, 15)
-
-
16. A system comprising:
a controller coupleable to a plurality of storage devices, the controller comprising; a first-in first-out (FIFO) buffer configured to buffer data elements; an access interface configured to initiate a first access operation to a first storage device of a plurality of storage devices to obtain a first data element from the first storage device for storage in the FIFO buffer and initiate a second access operation to a second storage device of the plurality of storage devices to obtain a second data element and a third data element from the second storage device for storage in the FIFO buffer subsequent to the first data element; and a commutative operation component coupled to the FIFO buffer and configured to perform a first commutative operation using the first data element and the second data element obtained from the FIFO buffer to generate a first result data. - View Dependent Claims (17, 18, 19, 20)
Specification