Systems and methods for adaptive data storage
First Claim
Patent Images
1. A method, comprising:
- managing storage operations on a plurality of solid-state storage elements, wherein each solid-state storage element of the plurality of solid-state storage elements is selected from the group including a package, a die, a plane, and a printed circuit board;
generating an ECC codeword comprising data for storage on the solid-state storage elements; and
storing portions of the ECC codeword on two or more solid-state storage elements of the plurality of solid-state storage elements.
15 Assignments
0 Petitions
Accused Products
Abstract
A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising two or more solid-state storage elements. The data segments may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The data arrangement may determine input/output performance characteristics. An optimal adaptive data storage configuration may be based on read and/or write patterns of storage clients, read time, stream time, and so on. Data of failed storage elements may be reconstructed by use of parity data and/or other ECC codewords stored within the array.
-
Citations
18 Claims
-
1. A method, comprising:
-
managing storage operations on a plurality of solid-state storage elements, wherein each solid-state storage element of the plurality of solid-state storage elements is selected from the group including a package, a die, a plane, and a printed circuit board; generating an ECC codeword comprising data for storage on the solid-state storage elements; and storing portions of the ECC codeword on two or more solid-state storage elements of the plurality of solid-state storage elements. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus, comprising:
-
a storage module configured to manage storage operations on a solid-state storage array comprising a plurality of columns, each column comprising a respective solid-state storage element, wherein each solid-state storage element is selected from the group including a package, a die, a plane, and a printed circuit board; an error-correcting code (ECC) write module configured to generate ECC codewords comprising data segments for storage on the solid-state storage array; and an adaptive write module configured to format the ECC codewords into vertical stripes, wherein the vertical stripes are configured to arrange data of the ECC codewords within respective columns of the solid-state storage array, and wherein two or more ECC codewords comprising one of the data segments are stored within two or more different columns of the solid-state storage array. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
means for generating ECC codewords comprising data segments for storage on a plurality of solid-state storage elements, wherein each solid-state storage element of the plurality of solid-state storage elements are communicatively coupled to a storage controller by a bus, and each solid-state storage element is selected from the group including a package, a die, a plane, and a printed circuit board; means for arranging the ECC codewords for storage in a vertical stripe configuration, wherein the vertical stripe configuration comprises arranging each ECC codeword for storage within a respective one of the solid-state storage elements, and wherein ECC codewords comprising a data segment are arranged for storage on two or more different solid-state storage elements; and means for storing the arranged ECC codewords on the solid-state storage elements. - View Dependent Claims (15, 16, 17, 18)
-
Specification