CPC H03M 13/35 (2013.01) [G06F 3/064 (2013.01); G06F 3/0619 (2013.01); G06F 3/0653 (2013.01); G06F 3/0679 (2013.01); G06F 11/1008 (2013.01); G06F 11/1044 (2013.01); G06F 11/1048 (2013.01); G06F 11/1068 (2013.01); G06F 11/1076 (2013.01); G11C 29/52 (2013.01); H03M 13/29 (2013.01); H03M 13/2906 (2013.01); H03M 13/2957 (2013.01); G11B 20/1833 (2013.01); G11C 7/1006 (2013.01); G11C 2029/0411 (2013.01)] | 20 Claims |
1. A memory system comprising:
a nonvolatile memory that includes a plurality of memory areas including a first memory area and a second memory area; and
a controller configured to:
in a case where a level of wear of the first memory area is lower than a first threshold,
determine a first size of first data and a first encoding method for encoding the first data to generate a first parity for correcting an error in the first data such that a sum of the first size and a site of the first parity is equal to a size of each of the plurality of memory areas,
encode the first data to generate the first parity in the first encoding method, and
write the first data and the first parity into the first memory area; and
in a case where a level of wear of the second memory area is higher than the first threshold,
determine a second size of second data and a second encoding method for encoding the second data to generate a second parity for correcting an error in the second data such that the second size is smaller than the first size, and a sum of the second size and a size of the second parity is equal to the size of each of the plurality of memory areas,
encode the second data to generate the second parity in the second encoding method, and
write the second data and the second parity into the second memory area, wherein
an error correction capability for the second data using the second parity is higher than an error correction capability for the first data using the first parity.
|