摘要 |
According to embodiments, a controller includes a read inspection unit, an inspection block setting unit, and a timing determining unit. The read inspection unit performs a read inspection for determining whether to perform rewriting of valid data to a block in which the valid data is stored among a plurality of blocks included in a nonvolatile memory. The inspection block setting unit generates an inspection block by writing inspection pattern data having a threshold as high as possible in at least one of the blocks included in the nonvolatile memory. The timing determining unit determines a timing of performing the read inspection by the read inspection unit based on the number of inverted bits that occurs in inspection pattern data written in the inspection block.
|