IP Library Granted Patent US 11,042,305
Granted Patent B2
US 11,042,305 · App. 16/004,509 · Granted Jun 22, 2021

Memory system and method for controlling nonvolatile memory

Inventors: Shinichi Kanno (Tokyo, JP); Hideki Yoshida (Yokohama Kanagawa, JP)
Assignee: Toshiba Memory Corporation
G06F3/0616G06F3/064G06F3/0659G06F3/0679G06F12/16
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 11,042,305
App. No.
16/004,509
Granted
Jun 22, 2021
Kind
B2
Abstract

According to one embodiment, a memory system manages wear of each of a plurality of blocks in a nonvolatile memory. The memory system receives, from a host, a write request including a parameter specifying a data retention term required for first data to be written. The memory system selects, from the blocks, a first block in which a data retention term estimated from the wear of the first block is longer than or equal to the specified data retention term. The memory system writes the first data to the first block.

Claims (68)

1. A memory system connectable to a host, the memory system comprising:

a nonvolatile memory that includes a plurality of blocks; and

a controller electrically connected to the nonvolatile memory and configured to control the nonvolatile memory, wherein the controller is configured to:

classify the blocks into a plurality of block groups corresponding to a plurality of data retention terms based on wear of each of the blocks, the wear relating to an erase operation for each of the blocks;

receive, from the host, a first write command including a first parameter specifying a first retention term required for first data to be written and a second write command including a second parameter specifying a second retention term required for second data to be written, the second retention term being shorter than the first retention term;

in response to receiving the first write command, select, when a block classified into a first block group having a data retention term which is equal to the first retention term specified by the first parameter in the received first write command is present, the block classified into the first block group as a first block, and select, when no block classified into the first block group is present, a block classified into a second block group having a data retention term longer than the first retention term as the first block;

write the first data to the first block;

in response to receiving the second write command, select, when a block classified into a third block group having a data retention term which is equal to the second retention term specified by the second parameter in the received second write command is present, the block classified into the third block group as a second block, and select, when no block classified into the third block group is present, a block classified into a fourth block group having a data retention term longer than the second retention term as the second block; and

write the second data to the second block.

2. The memory system of claim 1 , wherein

the wear of each of the blocks is indicated by an erase count of each of the blocks.

3. The memory system of claim 1 , wherein

the wear of each of the blocks is indicated by an erasing time of each of the blocks.

4. The memory system of claim 1 , wherein

the controller is further configured to:

write, when the block classified into the first block group is selected as the first block, the first data to the first block by a first program operation; and

write, when the block classified into the second block group is selected as the first block, the first data to the first block by a second program operation in which an amount of electrical charge to be stored in each of memory cells of the first block is less than the first program operation.

5. The memory system of claim 1 , wherein

when no block classified into the first block group is present, a block classified into a block group having a data retention term shorter than the first retention term is not selected as the first block, and

when no block classified into the third block group is present, a block classified into a block group having a data retention term shorter than the second retention term is not selected as the second block.

6. The memory system of claim 1 , wherein

the plurality of data retention terms correspond to a plurality of levels, and

the controller is further configured to:

when no block classified into the first block group is present, determine whether or not a block classified into a block group having a data retention term longer than the first retention term by one level is present; and

when the block classified into the block group having the data retention term longer than the first retention term by one level is present, select, as the first block, the block classified into the block group having the data retention term longer than the first retention term by one level, the second block group being the block group having the data retention term longer than the first retention term by one level.

7. The memory system of claim 6 , wherein

the controller is further configured to:

when no block classified into to the block group having the data retention term longer than the first retention term by one level is present, determine whether or not a block classified into a block group having a data retention term shorter than a longest retention term of the plurality of data retention terms by one level is present; and

when the block classified into the block group having the data retention term shorter than the longest retention term by one level is present, select, as the first block, the block classified into the block group having the data retention term shorter than the longest retention term by one level, the second block group being the block group having the data retention term shorter than the longest retention term by one level.

8. The memory system of claim 7 , wherein

the controller is further configured to:

when no block classified into the block group having the data retention term shorter than the longest retention term by one level, select, as the first block, a block classified into to a block group having the longest retention term, the second block group being the block group having the longest retention term.

9. The memory system of claim 1 , wherein

the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips, each chip has a plurality of blocks and each block is respectively erasable.

10. The memory system of claim 1 , wherein

the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips and the plurality of memory chips are configured to be erasable as a super block.

11. A method for controlling a nonvolatile memory that includes a plurality of blocks, the method comprising:

classifying the blocks into a plurality of block groups corresponding to a plurality of data retention terms based on wear of each of the blocks, the wear relating to an erase operation for each of the blocks;

receiving, from a host, a first write command including a first parameter specifying a first retention term required for first data to be written and a second write command including a second parameter specifying a second retention term required for second data to be written, the second retention term being shorter than the first retention term;

in response to receiving the first write command, selecting, when a block classified into a first block group having a data retention term which is equal to the first retention term specified by the first parameter in the received first write command is present, the block classified into the first block group as a first block, and selecting, when no block classified into the first block group is present, a block classified into a second block group having a data retention term longer than the first retention term as the first block;

writing the first data to the first block;

in response to receiving the second write command, selecting, when a block classified into a third block group having a data retention term which is equal to the second retention term specified by the second parameter in the received second write command is present, the block classified into the third block group as a second block, and selecting, when no block classified into the third block group is present, a block classified into a fourth block group having a data retention term longer than the second retention term as the second block; and

writing the second data to the second block.

12. The method of claim 11 , wherein

the wear of each of the blocks is indicated by an erase count of each of the blocks.

13. The method of claim 11 , wherein

the wear of each of the blocks is indicated by an erasing time of each of the blocks.

14. The method of claim 11 , wherein

the writing the first data includes:

writing, when the block classified into the first block group is selected as the first block, the first data to the first block by a first program operation; and

writing, when the block classified into the second block group is selected as the first block, the first data to the first block by a second program operation in which an amount of electrical charge to be stored in each of memory cells of the first block is less than the first program operation.

15. The method of claim 11 , wherein

when no block classified into the first block group is present, a block classified into a block group having a data retention term shorter than the first retention term is not selected as the first block, and

when no block classified into the third block group is present, a block classified into a block group having a data retention term shorter than the second retention term is not selected as the second block.

16. The method of claim 11 , wherein

the plurality of data retention terms correspond to a plurality of levels, and

the method further comprises:

when no block classified into the first block group is present, determining whether or not a block classified into a block group having a data retention term longer than the first retention term by one level is present; and

when the block classified into the block group having the data retention term longer than the first retention term by one level is present, selecting, as the first block, the block classified into the block group having the data retention term longer than the first retention term by one level, the second block group being the block group having the data retention term longer than the first retention term by one level.

17. The method of claim 16 , further comprising:

when no block classified into to the block group having the data retention term longer than the first retention term by one level is present, determining whether or not a block classified into a block group having a data retention term shorter than a longest retention term of the plurality of data retention terms by one level is present; and

when the block classified into the block group having the data retention term shorter than the longest retention term by one level is present, selecting, as the first block, the block classified into the block group having the data retention term shorter than the longest retention term by one level, the second block group being the block group having the data retention term shorter than the longest retention term by one level.

18. The method of claim 17 , further comprising:

when no block classified into to the block group having the data retention term shorter than the longest retention term by one level, select, as the first block, a block classified into to a block group having the longest retention term, the second block group being the block group having the longest retention term.

19. The method of claim 11 , wherein

the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips, each chip has a plurality of blocks and each block is respectively erasable.

20. The method of claim 11 , wherein

the nonvolatile memory is a NAND flash memory which includes a plurality of memory chips and the plurality of memory chips are configured to be erasable as a super block.

Assignments (4)
CHANGE OF NAME AND ADDRESS Recorded Feb 4, 2022
From: K.K PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058957/0124 →
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
MERGER Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K PANGEA
Reel/Frame 058946/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: KANNO, SHINICHI; YOSHIDA, HIDEKI
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 046040/0035 →
Priority Claims (1)
JP JP2017-213955 · Nov 6, 2017 · national
Continuity (1)
Related Publication 20190138226A1 · May 9, 2019