IP Library Granted Patent US 11,221,914
Granted Patent B2
US 11,221,914 · App. 16/909,015 · Granted Jan 11, 2022

Memory system for controlling nonvolatile memory

Inventor: Shinichi Kanno (Tokyo, JP)
Assignee: Kioxia Corporation
G06F11/1068G06F3/064G06F3/065G06F3/0619G06F3/0664G06F3/0679G06F11/1048G06F12/0246G06F12/1009G11C29/52G06F2212/1008G06F2212/1024G06F2212/1032G06F2212/403G06F2212/608G06F2212/657G06F2212/7201G06F2212/7202G06F2212/7203G06F2212/7205G06F2212/7207
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,221,914
App. No.
16/909,015
Granted
Jan 11, 2022
Kind
B2
Abstract

According to one embodiment, a memory system copies content of a first logical-to-physical address translation table corresponding to a first region of a nonvolatile memory to a second logical-to-physical address translation table corresponding to a second region of the nonvolatile memory. When receiving a read request specifying a logical address in the second region, the memory system reads a part of the first data from the first region based on the second logical-to-physical address translation table. The memory system detects a block which satisfies a refresh condition from a first group of blocks allocated to the first region, corrects an error of data of the detected block and writes the corrected data back to the detected block.

Claims (75)

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

a nonvolatile memory including a first region and a second region, the first region including a first plurality of blocks, the second region including a second plurality of blocks, each of the first plurality of blocks and the second plurality of blocks being a unit for a data erase operation; and

a controller electrically connected to the nonvolatile memory and configured to:

manage a first logical address space and a second logical address space;

store first data into a first block of the first region;

generate a first logical-to-physical address translation table such that logical addresses of the first logical address space are mapped with physical addresses of the first plurality of blocks of the first region;

generate a second logical-to-physical address translation table such that logical addresses of the second logical address space are mapped with the physical addresses of the first plurality of blocks of the first region;

in response to receiving a read request from the host, the read request specifying a logical address of the second logical address space, read at least a part of the first data from the first region on the basis of the second logical-to-physical address translation table; and

in response to receiving a write request from the host, the write request specifying a logical address of the second logical address space,

write second data into a second block of the second region, the second data being not stored in the first region, and

update only the second logical-to-physical address translation table among the first logical-to-physical address translation table and the second logical-to-physical address translation table such that the logical address specified by the write request is mapped with a physical address of the second block of the second region.

2. The memory system according to claim 1 , wherein

the controller is further configured to:

manage a first physical-to-physical address translation table; and

in a case where the first data is moved to a third block of the first region, update the first physical-to-physical address translation table such that, both in the first logical-to-physical address translation table and in the second logical-to-physical address translation table, a logical address associated with the first data is mapped with a physical address of the third block of the first region, without updating the first logical-to-physical address translation table and the second logical-to-physical address translation table.

3. The memory system according to claim 2 , wherein

the controller is configured to move the first data from the first block to the third block in a first refresh operation.

4. The memory system according to claim 3 , wherein

the controller is further configured to perform a second refresh operation in which the controller:

reads the first data from the first block;

perform an error correction operation to the read first data;

perform the data erase operation to the first block; and

writes the error-corrected first data into the data-erased first block.

5. The memory system according to claim 4 , wherein

the controller is configured to:

perform the second refresh operation in a case where a bit error rate of the first block is lower than a threshold; and

perform the first refresh operation in a case where the bit error rate of the first block is equal to or higher than the threshold.

6. The memory system according to claim 1 , wherein

the controller is configured to:

store the first data into the first block of the first region in a first write mode; and

write the second data into the second block of the second region in a second write mode, wherein

the number of bits stored in one memory cell in the first write mode is smaller than the number of bits stored in one memory cell in the second write mode.

7. The memory system according to claim 1 , wherein

the first logical address space is a first namespace and the second logical address space is a second namespace.

8. The memory system according to claim 1 , wherein

the number of blocks of the first region is smaller than the number of blocks corresponding to the logical addresses of the first logical address space.

9. The memory system according to claim 1 , wherein

the number of blocks of the first region is smaller than the number of blocks of the second region.

10. The memory system according to claim 1 , wherein

the controller is further configured to,

after storing the first data into the first block of the first region, inhibit a write access from the host to the first logical address space.

11. A method of controlling a nonvolatile memory including a first region and a second region, the first region including a first plurality of blocks, the second region including a second plurality of blocks, each of the first plurality of blocks and the second plurality of blocks being a unit for a data erase operation, the method comprising:

managing a first logical address space and a second logical address space;

storing first data into a first block of the first region;

generating a first logical-to-physical address translation table such that logical addresses of the first logical address space are mapped with physical addresses of the first plurality of blocks of the first region;

generating a second logical-to-physical address translation table such that logical addresses of the second logical address space are mapped with the physical addresses of the first plurality of blocks of the first region;

in response to receiving a read request from a host, the read request specifying a logical address of the second logical address space, reading at least a part of the first data from the first region on the basis of the second logical-to-physical address translation table; and

in response to receiving a write request from the host, the write request specifying a logical address of the second logical address space,

writing second data into a second block of the second region, the second data being not stored in the first region, and

updating only the second logical-to-physical address translation table among the first logical-to-physical address translation table and the second logical-to-physical address translation table such that the logical address specified by the write request is mapped with a physical address of the second block of the second region.

12. The method according to claim 11 , further comprising:

managing a first physical-to-physical address translation table; and

in a case where the first data is moved to a third block of the first region, updating the first physical-to-physical address translation table such that, both in the first logical-to-physical address translation table and in the second logical-to-physical address translation table, a logical address associated with the first data is mapped with a physical address of the third block of the first region, without updating the first logical-to-physical address translation table and the second logical-to-physical address translation table.

13. The method according to claim 12 , wherein

the first data are moved from the first block to the third block in a first refresh operation.

14. The method according to claim 13 , further comprising performing a second refresh operation, wherein the performing the second refresh operation includes:

reading the first data from the first block;

performing an error correction operation to the read first data;

performing the data erase operation to the first block; and

writing the error-corrected first data into the data-erased first block.

15. The method according to claim 14 , wherein

the second refresh operation is performed in a case where a bit error rate of the first block is lower than a threshold; and

the first refresh operation is performed in a case where the bit error rate of the first block is equal to or higher than the threshold.

16. The method according to claim 11 , wherein

the storing includes storing the first data into the first block of the first region in a first write mode; and

the writing includes writing the second data into the second block of the second region in a second write mode, wherein

the number of bits stored in one memory cell in the first write mode is smaller than the number of bits stored in one memory cell in the second write mode.

17. The method according to claim 11 , wherein

the first logical address space is a first namespace and the second logical address space is a second namespace.

18. The method according to claim 11 , wherein

the number of blocks of the first region is smaller than the number of blocks corresponding to the logical addresses of the first logical address space.

19. The method according to claim 11 , wherein

the number of blocks of the first region is smaller than the number of blocks of the second region.

20. The method according to claim 11 , further comprising,

after storing the first data into the first block of the first region, inhibiting a write access from the host to the first logical address space.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Feb 17, 2022
From: TOSHIBA MEMORY CORPORATION; K.K. PANGEA
To: K.K. PANGEA
Reel/Frame 059039/0780 →
CHANGE OF NAME Recorded Feb 17, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 059175/0001 →
CHANGE OF NAME Recorded Feb 17, 2022
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 059180/0266 →
Priority Claims (1)
JP JP2017-126616 · Jun 28, 2017 · national
Continuity (2)
Continuation 15820516 · Nov 22, 2017
Related Publication 20200319966A1 · Oct 8, 2020