Memory system
AssigneeToshiba Memory Corporation
InventorsErika KAKU, Yoshihisa Kojima
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a memory system includes a first volatile memory, a nonvolatile memory and a controller. The nonvolatile memory includes a plurality of chips. The controller generates a second error correcting code using data stored in the first volatile memory. The second error correcting code is a code for correcting data which cannot be corrected included in a first data group using a first error correcting code. The controller releases an area of the first volatile memory corresponding to the first data group written in the nonvolatile memory, before completion of writing of all of the data which are stored in the first volatile memory and includes in a codeword of the second error correcting code to the nonvolatile memory.
Claims21
1-20. (canceled)
21:
- A memory system comprising:
- a nonvolatile memory comprising a plurality of chips;
- and
- a controller configured to:
- track a power supplied from an external of the memory system;
- generate a correcting code of data to be stored according to a state of the tracked power;
- and
- store the data to be stored and the generated correcting code into the nonvolatile memory, wherein
- the controller is configured to:
- generate a first correcting code based on first data of a first number of data units each stored across a second number of chips;
- and
- generate a second correcting code based on second data of a third number of data units each stored across a fourth number of chips, the third number being smaller than the first number, and the fourth number being less than the second number.
22:
- The system according to claim 21, wherein
- the controller is configured to generate the first correcting code in a case that the state of the tracked power is normal, and generate the second correcting code in a case that the state of the tracked power is not normal.
23:
- The system according to claim 21, wherein
- the controller is configured to store the first data and the first correcting code into a first area of the nonvolatile memory, and store the second data and the second correcting code into a second area different from the first area of the nonvolatile memory.
24:
- The system according to claim 23, wherein
- a number of bits to be capable of being stored in the first area is larger than that of bits to be capable of being stored in the second area.
25:
- The system according to claim 21, wherein
- a size of the first correcting code is equal to a size of the second correcting code.
26:
- The system according to claim 21, wherein
- the controller is configured to generate the second correcting code when the controller detects the status of the tracked power being not normal.
27:
- The system according to claim 21, wherein
- the controller is configured to execute a next processing without waiting for completion of a program of the data to be stored or the generated correcting code after transferring the data to be stored and the generated correcting code to the nonvolatile memory.
28:
- The system according to claim 21, wherein
- the controller is further configured to read the first data and the first correcting code from a first area of the nonvolatile memory in a case that a correction of data corresponding to a portion of the first data is failure, and correct the first data based on the first correcting code.
29:
- The system according to claim 28, wherein
- the controller is configured to read the second data and the second correcting code from a second area different from the first area of the nonvolatile memory in a case that a correction of data corresponding to a portion of the second data is failure, and correct the second data based on the second correcting code.
30:
- The system according to claim 29, wherein
- the correction of the second data is executed after the power is turned on.
31:
- A controlling method of a memory system including a nonvolatile memory comprising a plurality of chips, the method comprising:
- tracking a power supplied from an external of the memory system;
- generating a correcting code of data to be stored according to a state of the tracked power;
- and
- storing the data to be stored and the generated correcting code in the nonvolatile memory,
- wherein the generating comprises:
- generating a first correcting code based on first data of a first number of data units each stored across a second number of chips;
- and
- generating a second correcting code based on second data of a third number of data units each stored across a fourth number of chips, the third number being smaller than the first number, and the fourth number being less than the second number.
32:
- The method according to claim 31, further comprising:
- generating the first correcting code in a case that the state of the tracked power is normal, and generating the second correcting code in a case that the state of the tracked power is not normal.
33:
- The method according to claim 31, further comprising:
- storing the first data and the first correcting code into a first area of the nonvolatile memory, and storing the second data and the second correcting code into a second area different from the first area of the nonvolatile memory.
34:
- The method according to claim 33, wherein
- a number of bits to be capable of being stored in the first area is larger than that of bits to be capable of being stored in the second area.
35:
- The method according to claim 31, wherein
- a size of the first correcting code is equal to a size of the second correcting code.
36:
- The method according to claim 31, further comprising:
- generating the second correcting code when the controller detects the status of the tracked power being not normal.
37:
- The method according to claim 31, further comprising:
- executing a next processing without waiting for completion of a program of the data to be stored or the generated correcting code after transferring the data to be stored and the generated correcting codes to the nonvolatile memory.
38:
- The method according to claim 31, further comprising:
- reading the first data and the first correcting code from a first area of the nonvolatile memory in a case that a correction of data corresponding to a portion of the first data is failure, and correcting the first data based on the first correcting code.
39:
- The method according to claim 38, further comprising:
- reading the second data and the second correcting code from a second area different from the first area of the nonvolatile memory in a case that a correction of data corresponding to a portion of the second data is failure, and correcting the second data based on the second correcting code.
40:
- The method according to claim 39, further comprising:
- executing the correction of the second data after the power is turned on.