FAULT-TOLERANT NON-VOLATILE INTEGRATED CIRCUIT MEMORY
First Claim
1. A method of storing data in a plurality of non-volatile integrated circuit memory devices, the method comprising:
- convolutionally encoding data; and
storing the convolutionally encoded data such that the convolutionally encoded data is interleavingly spread over at least two non-volatile integrated circuit memory devices.
8 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and methods are disclosed, such as those that store data in a plurality of non-volatile integrated circuit memory devices, such as NAND flash, with convolutional encoding. A relatively high code rate for the convolutional code consumes relatively little extra memory space. In one embodiment, the convolutional code is spread over portions of a plurality of memory devices, rather than being concentrated within a page of a particular memory device. In one embodiment, a code rate of m/n is used, and the convolutional code is stored across n memory devices.
-
Citations
31 Claims
-
1. A method of storing data in a plurality of non-volatile integrated circuit memory devices, the method comprising:
-
convolutionally encoding data; and storing the convolutionally encoded data such that the convolutionally encoded data is interleavingly spread over at least two non-volatile integrated circuit memory devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of reading data from a plurality of non-volatile integrated circuit memory devices, the method comprising:
-
retrieving convolutionally encoded data from at least two non-volatile integrated circuit memory devices, wherein the convolutionally encoded data is spread over the at least two non-volatile integrated circuit memory devices; and deconvolving the convolutionally encoded data retrieved from the memory devices, wherein deconvolving comprises rearranging the convolutional encoded data to restore an original order of the convolutional encoded data. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method of storing data in a plurality non-volatile integrated circuit memory devices, the method comprising:
-
convolutional encoding m first-size portions of data into m second-size portions of convolutional code using a code rate of m/n, wherein the second-size portions are n/m times larger than the first-size sectors, wherein at least one of the m first-size portions contains actual data as opposed to blank data; and storing the m second-size portions of convolutional code in n non-volatile integrated circuit memory devices, wherein the m non-volatile integrated circuit memory devices are configured to store m first-size portions, wherein n is at least two. - View Dependent Claims (16, 17, 18)
-
-
19. A method of accessing data from a plurality of non-volatile integrated circuit memory devices, the method comprising:
-
receiving a request from a host for data; retrieving one or more associated sectors of data from at least one of two or more of the non-volatile integrated circuit memory devices, wherein the one or more associated sectors are of a first sector size; and deconvolving at least a portion of the one or more associated sectors to generate one or more sectors of information related to at least portion of the requested page, wherein the one or more sectors of the generated information are of a second sector size smaller than the first sector size by a code rate of a convolutional code that is deconvolved, wherein the sectors of generated information are read for deconvolving one page after another from the non-volatile integrated circuit memory devices. - View Dependent Claims (20, 21, 22, 23)
-
-
24. An apparatus comprising:
-
a first buffer; a second buffer; control logic configured to interface between a host and a plurality of non-volatile integrated circuit memory devices and to control the storage of data from the second buffer to the non-volatile integrated circuit memory devices such that data is interleavingly spread over the non-volatile integrated circuit memory devices; a convolutional code encoder configured to encode data stored in the first buffer and to store the encoded data in the second buffer for transfer to the non-volatile integrated circuit memory devices; and a convolutional code decoder configured to decode data stored in the second buffer retrieved from the non-volatile integrated circuit memory devices and to store the decoded data in the first buffer. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
Specification