Codeword management
First Claim
1. A method for managing an encoding process, the method comprises:
- receiving or determining, by a processor, (i) code rates for multiple pages of a flash memory, and (ii) sizes of a plurality of data segments to be stored in the multiple pages after being encoded to provide multiple codewords;
determining, by the processor, sizes of the multiple codewords while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords; and
sending to an encoder information about the sizes of the multiple codewords.
8 Assignments
0 Petitions
Accused Products
Abstract
A method for managing an encoding process, the method includes receiving or determining, by a processor, (i) code rates for multiple pages, and (ii) sizes of a plurality of data segments to be stored in the multiple pages after being encoded to provide multiple codewords; determining, by the processor, sizes of the multiple codewords while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval of the split data segment involves a retrieval of the at least two codewords; and sending to an encoder information about the sizes of the multiple codewords.
326 Citations
21 Claims
-
1. A method for managing an encoding process, the method comprises:
-
receiving or determining, by a processor, (i) code rates for multiple pages of a flash memory, and (ii) sizes of a plurality of data segments to be stored in the multiple pages after being encoded to provide multiple codewords; determining, by the processor, sizes of the multiple codewords while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords; and sending to an encoder information about the sizes of the multiple codewords. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for encoding data segments, the method comprises:
-
receiving, by an encoder, information about sizes of multiple codewords to be generated by the encoder by encoding a plurality of codewords;
wherein the sizes of the multiple codewords were determined (a) in response to code rates for multiple pages of a flash memory and sizes of the plurality of data segments, and (b) while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords;receiving, by the encoder, the plurality of data segment; and encoding, by the encoder, the plurality of data segments to provide the multiple codewords, wherein the encoding is responsive to the information about the sizes of the multiple codewords.
-
-
11. A non-transitory computer readable medium that stores instructions that once executed by an encoder cause the encoder to execute the stages of:
- receiving information about sizes of multiple codewords to be generated by the encoder by encoding a plurality of codewords;
wherein the sizes of the multiple codewords were determined (a) in response to code rates for multiple pages of a flash memory and sizes of the plurality of data segments, and (b) while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords;
receiving the plurality of data segment; and
encoding the plurality of data segments to provide the multiple codewords, wherein the encoding is responsive to the information about the sizes of the multiple codewords. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
- receiving information about sizes of multiple codewords to be generated by the encoder by encoding a plurality of codewords;
-
20. A non-transitory computer readable medium that stores instructions that once executed by a processor cause the processor to execute the stage of receiving or determining (i) code rates for multiple pages of a flash memory, and (ii) sizes of a plurality of data segments to be stored in the multiple pages after being encoded to provide multiple codewords;
- determining sizes of the multiple codewords while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords; and
sending to an encoder information about the sizes of the multiple codewords.
- determining sizes of the multiple codewords while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords; and
-
21. A memory controller that comprises an encoder;
- wherein the encoder is configured to;
receive information about sizes of multiple codewords to be generated by the encoder by encoding a plurality of codewords;
wherein the sizes of the multiple codewords were determined (a) in response to code rates for multiple pages of a flash memory and sizes of the plurality of data segments, and (b) while maintaining the code rates for the multiple pages and minimizing a number of split data segments out of the plurality of data segments, wherein each split data segment is split between at least two codewords of the multiple codewords, wherein a retrieval, from the flash memory, of each split data segment that is stored in the flash memory and is split between the at least two codewords involves a retrieval of the at least two codewords;
receive the plurality of data segment; andencode the plurality of data segments to provide the multiple codewords, wherein the encoding is responsive to the information about the sizes of the multiple codewords.
- wherein the encoder is configured to;
Specification