IP Library Granted Patent US 10,410,738
Granted Patent B2
US 10,410,738 · App. 15/261,008 · Granted Sep 10, 2019

Memory system and control method

Inventors: Atsuo Shono (Kamakura, JP); Katsuhiko Ueki (Katsushika, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G11C29/52G06F11/1048G11C2029/0409G11C2029/0411
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,410,738
App. No.
15/261,008
Granted
Sep 10, 2019
Kind
B2
Abstract

According to one embodiment, a memory system includes a memory, an error correcting circuit and a memory controller. The memory includes a memory cell which is writable in a memory mode including a first mode and a second mode. The first mode is a mode in which a value of bits is written to the memory cell. The second mode is a mode in which a value of bits smaller than that in the first mode is written to the memory cell. The memory controller controls a coding rate for the error correction on the basis of result of error correction. The controller sets the first mode as the memory mode to be used. The controller changes the memory mode to be used from the first mode to the second mode in a case where the coding rate is less than a first threshold.

Claims (42)

1. A memory system comprising:

a nonvolatile memory configured to include a plurality of memory cells which are writable in a memory mode among memory modes including a first mode and a second mode, the first mode being a mode in which a value of a first number of bits is written to a memory cell among the plurality of memory cells, the second mode being a mode in which a value of a second number of bits is written to a memory cell among the plurality of memory cells, the second number of bits is smaller than a number of bits included in the first number of bits;

an error correcting circuit that performs error correction; and

a processor configured to set the first mode as the memory mode of the plurality of memory cells, write data to the plurality of memory cells in the first mode, read the data from the plurality of memory cells, cause the error correcting circuit to perform the error correction on the data read from the plurality of memory cells, decrease a coding rate for the error correction of the plurality of memory cells on the basis of result of the error correction, and change the memory mode of the plurality of memory cells from the first mode to the second mode in a case where the coding rate for the error correction of the plurality of memory cells is less than a first threshold, the coding rate for the error correction of the plurality of memory cells being a ratio of a size of the data before being coded to a size of the data after being coded.

2. The memory system according to claim 1 , wherein the processor is configured to change the coding rate for the error correction of the plurality of memory cells to a value greater than the first threshold in response to changing the memory mode of the plurality of memory cells from the first mode to the second mode.

3. The memory system according to claim 2 , wherein the processor is configured to change the coding rate for the error correction of the plurality of memory cells to a smaller value in response to an increase in the number of errors included in the data read from the plurality of memory cells.

4. The memory system according to claim 1 , wherein the memory includes a plurality of blocks, and

the processor is configured to set the memory mode of the plurality of memory cells in units of the block.

5. The memory system according to claim 4 wherein the processor is further configured to group a first number of blocks having the same memory mode among the plurality of blocks into a first logical block.

6. The memory system according to claim 5 , wherein the memory includes a plurality of memory chips each includes a second number of blocks among the plurality of blocks,

the processor is further configured to include a plurality of channels, each of the plurality of channels being connected to a portion of the plurality of memory chips, the portion being different for each channel,

the first number of blocks includes at least one first block which is accessed via a first channel among the plurality of channels and at least one second block which is accessed via a second channel of the plurality of channels, the second channel being different from the first channel, and

the processor is further configured to, in response to changing the memory mode of the first block, exclude the first block from the first logical block and adds a third block to the first logical block, the third block being a block which is accessed via the first channel and in which the memory mode equal to the memory mode of the first block before changing the memory mode is set and being different from the first block.

7. The memory system according to claim 5 , wherein the processor is further configured to group a plurality of elements having the same storage capacity into a second logical block, the plurality of elements being one or more blocks among the plurality of blocks.

8. The memory system according to claim 7 , wherein the memory includes a plurality of memory chips each includes a second number of blocks among the plurality of blocks,

the processor is further configured to include a plurality of channels, each of the plurality of channels being connected to a portion of the plurality of memory chips, the portion being different for each channel,

the first number of blocks includes at least one first block which is accessed via a first channel among the plurality of channels and at least one second block which is accessed via a second channel of the plurality of channels, the second channel being different from the first channel, and

a first element of the plurality of elements is a combination of a third block and a fourth block, accessed via the first channel, and different from the first block.

9. The memory system according to claim 7 , wherein the processor is further configured to construct a plurality of third logical blocks, the plurality of third logical blocks including the first logical block and the second logical block, calculate a degree of degradation for respective third logical blocks by using a function having the memory mode and the coding rate for the error correction of the plurality of memory cells as variables, and transfer data between the third logical blocks on the basis of the calculated degree of degradation.

10. The memory system according to claim 9 , wherein the processor is further configured to transfer data stored in a fourth logical block of the plurality of third logical blocks to a fifth logical block of the plurality of third logical blocks, the fifth logical block having a larger degree of degradation than that of the fourth logical block.

11. The memory system according to claim 1 , wherein an over-provisioned percentage decreases in accordance with changing the coding rate for the error correction of the plurality of memory cells or changing the memory mode, and

in a case where the over-provisioned percentage is less than a second threshold, the processor is further configured to transmit a notification to a host.

12. A control method of a memory system including a nonvolatile memory including a plurality of memory cells, the control method comprising:

setting a first mode as a memory mode of plurality of memory cells, the first mode being a mode in which a value of a first number of bits is written to a memory cell among the plurality of memory cells;

writing data to the plurality of memory cells in the first mode;

reading the data from the plurality of memory cells;

performing error correction on the data read from the plurality of memory cells;

decreasing a coding rate for the error correction of the plurality of memory cells on the basis of result of the error correction on the basis of result of the error correction, the coding rate for the error correction of the plurality of memory cells being a ratio of a size of the data before being coded to a size of the data after being coded; and

changing the memory mode of the plurality of memory cells from the first mode to a second mode in a case where the coding rate for the error correction of the plurality of memory cells is less than a first threshold, the second mode being a mode in which a value of a second number of bits is written to a memory cell among the plurality of memory cells, the second number of bits is smaller than a number of bits included in the first number of bits.

13. The control method according to claim 12 , further comprising changing the coding rate for the error correction of the plurality of memory cells to a value greater than the first threshold in response to changing the memory mode of the plurality of memory cells from the first mode to the second mode.

14. The control method according to claim 13 , further comprising changing the coding rate for the error correction of the plurality of memory cells to a smaller value in response to an increase in the number of errors included in the data read from the plurality of memory cells.

15. The control method according to claim 12 , wherein the memory includes a plurality of blocks, and

the control method further comprises setting the memory mode of the plurality of memory cells in units of the block.

16. The control method according to claim 15 , further comprising grouping a first number of blocks having the same memory mode among the plurality of blocks into a first logical block.

17. The control method according to claim 16 , further comprising grouping a plurality of elements having the same storage capacity into a second logical block, each of the plurality of elements being one or more blocks among the plurality of blocks.

18. The control method according to claim 17 , further comprising:

constructing a plurality of third logical blocks, the plurality of third logical blocks including the first logical block and the second logical block;

calculating a degree of degradation for respective third logical blocks by using a function having the memory mode and the coding rate for the error correction of the plurality of memory cells as variables; and

transferring data between the third logical blocks on the basis of the calculated degree of degradation.

19. The control method according to claim 18 , wherein the transferring of data includes transferring data stored in a fourth logical block of the plurality of third logical blocks to a fifth logical block of the plurality of third logical blocks, the fifth logical block having a larger degree of degradation than that of the fourth logical block.

20. The control method according to claim 12 , wherein an over-provisioned percentage decreases in accordance with changing the coding rate for the error correction of the plurality of memory cells or changing the memory mode, and

the control method further comprises, in a case where the over-provisioned percentage is less than a second threshold, transmitting a notification to a host.

Assignments (5)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043088/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2016
From: SHONO, ATSUO; UEKI, KATSUHIKO
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 040401/0254 →
Continuity (2)
Provisional Application 62308421 · Mar 15, 2016
Related Publication 20170269996A1 · Sep 21, 2017