Redundant array of independent disks in a direct-mapped flash storage system
First Claim
1. A storage system comprising:
- a plurality of three or more embedded storage devices, wherein each embedded storage device of the plurality of embedded storage devices comprises a direct-mapped solid state drive (SSD) storage portion; and
a plurality of storage system controllers, operatively coupled to the plurality embedded storage devices via a bus, the plurality of storage system controllers to;
receive data to be written to the plurality of three or more embedded storage devices;
select a plurality of available allocation units from three or more of the direct-mapped SSD storage portions of the plurality of embedded storage devices;
calculate a plurality of verification signatures, each corresponding to a separate one of the plurality of available allocation units;
write the data and the plurality of verification signatures to a first subset of the plurality of available allocation units;
calculate at least two erasure codes corresponding to the data and the verification signature; and
write the at least two erasure codes to a second subset of allocation units.
1 Assignment
0 Petitions
Accused Products
Abstract
In one implementation, storage system includes embedded storage devices, where each embedded storage device includes a direct-mapped solid state drive (SSD) storage portion and storage system controllers. The storage system controllers may be operatively coupled to the embedded storage devices via a bus. The storage system controllers may receive data to be written to the plurality embedded storage devices, select a plurality of available allocation units from the direct-mapped SSD storage portions of the plurality of embedded storage devices, respectively, and calculate a verification signature corresponding to the data. The storage system controllers may also write the data and the verification signature to a first subset of the plurality of available allocation units, calculate an erasure code corresponding to the data and the verification signature, and write the erasure code to a second subset of allocation units.
-
Citations
20 Claims
-
1. A storage system comprising:
-
a plurality of three or more embedded storage devices, wherein each embedded storage device of the plurality of embedded storage devices comprises a direct-mapped solid state drive (SSD) storage portion; and a plurality of storage system controllers, operatively coupled to the plurality embedded storage devices via a bus, the plurality of storage system controllers to; receive data to be written to the plurality of three or more embedded storage devices; select a plurality of available allocation units from three or more of the direct-mapped SSD storage portions of the plurality of embedded storage devices; calculate a plurality of verification signatures, each corresponding to a separate one of the plurality of available allocation units; write the data and the plurality of verification signatures to a first subset of the plurality of available allocation units; calculate at least two erasure codes corresponding to the data and the verification signature; and write the at least two erasure codes to a second subset of allocation units. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage system comprising:
-
a plurality of embedded storage devices, wherein each embedded storage device of the plurality of embedded storage devices comprises a direct-mapped solid state drive (SSD) storage portion; and a plurality of storage system controllers, operatively coupled to the plurality embedded storage devices via a bus, the plurality of storage system controllers to; receive data to be written to the plurality embedded storage devices; select a plurality of available allocation units from the direct-mapped SSD storage portions of the plurality of embedded storage devices; calculate a verification signature corresponding to the data; write the data and the verification signature to a first subset of the plurality of available allocation units; calculate an erasure code corresponding to the data and the verification signature; and write the erasure code to a second subset of allocation units. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving data to be written to a plurality of embedded storage devices; selecting a plurality of available allocation units from a plurality of direct-mapped solid-state-drive storage portions of the plurality of embedded storage devices; writing the data and a verification signature corresponding to the data to a first subset of the plurality of available allocation units; calculating an erasure code corresponding to the data and the verification signature; and writing the erasure code to a second subset of allocation units. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification