Redundant data distribution in a flash storage device
First Claim
Patent Images
1. A flash storage device, comprising:
- a plurality of channels of flash storage;
a system memory; and
a controller configured to;
cache, in the system memory, data to be written;
partition the data into a plurality of data portions;
generate error correction information based on the plurality of data portions;
write the error correction information to a first one or more of the plurality of channels of flash storage; and
write each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof,wherein the controller is further configured to compress the plurality of data portions before generating the error correction information.
9 Assignments
0 Petitions
Accused Products
Abstract
A flash storage device comprises a plurality of channels of flash storage, a system memory, and a controller. The controller is configured to cache, in the system memory, data to be written, to partition the data into a plurality of data portions, to generate error correction information based on the plurality of data portions, to write the error correction information to a first one or more of the plurality of channels of flash storage, and to write each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof.
-
Citations
32 Claims
-
1. A flash storage device, comprising:
-
a plurality of channels of flash storage; a system memory; and a controller configured to; cache, in the system memory, data to be written; partition the data into a plurality of data portions; generate error correction information based on the plurality of data portions; write the error correction information to a first one or more of the plurality of channels of flash storage; and write each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof, wherein the controller is further configured to compress the plurality of data portions before generating the error correction information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of writing data to a flash storage device, comprising the steps of:
-
caching, in a system memory, data to be written; partitioning the data into a plurality of data portions; compressing the plurality of data portions; generating error correction information based on the compressed plurality of data portions; writing the error correction information to a first one or more of a plurality of channels of flash storage of the flash storage device; and writing each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A flash storage device, comprising:
-
a plurality of channels of flash storage; a system memory; and a controller configured to; cache, in the system memory, data to be written; partition the data into a plurality of data portions; generate error correction information based on the plurality of data portions; write the error correction information to a first one or more of the plurality of channels of flash storage; and write each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof, wherein the controller is further configured, upon a read count for one of the plurality of data portions in the corresponding channel of flash storage exceeding a predetermined amount, to; invalidate data from one of the plurality of data portions; and leave intact the invalidated data for use in error correction of the other ones of the plurality of data portions. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of writing data to a flash storage device, comprising the steps of:
-
caching, in a system memory, data to be written; partitioning the data into a plurality of data portions; generating error correction information based on the plurality of data portions; writing the error correction information to a first one or more of a plurality of channels of flash storage of the flash storage device; writing each of the plurality of data portions to a different one of the plurality of channels of flash storage other than the first one or more thereof; invalidating data from one of the plurality of data portions; and leaving intact the invalidated data for use in error correction of the other ones of the plurality of data portions. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification