IP Library Granted Patent US 11,144,451
Granted Patent B2
US 11,144,451 · App. 16/723,458 · Granted Oct 12, 2021

Memory system and method for controlling nonvolatile memory

Inventors: Shinichi Kanno (Tokyo, JP); Hideki Yoshida (Yokohama Kanagawa, JP)
Assignee: Toshiba Memory Corporation
G06F12/0246G06F3/064G06F3/067G06F3/0616G06F3/0652G06F3/0659G06F3/0679G06F3/0688G06F12/0253
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,144,451
App. No.
16/723,458
Granted
Oct 12, 2021
Kind
B2
Abstract

According to one embodiment, a memory system determine both of a first block to which data from a host is to be written and a first location of the first block, when receiving a write request to designate a first logical address from the host. The memory system writes the data from the host to the first location of the first block. The memory system notifies the host of the first logical address, a first block number designating the first block, and a first in-block offset indicating an offset from a leading part of the first block to the first location by a multiple of grain having a size different from a page size.

Claims (72)

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

a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for an erase operation, the plurality of blocks being classified into a plurality of domains; and

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

in response to receiving a write command from the host, the write command requesting to write first data and specifying a first address and an identifier of a domain among the plurality of domains to which the first data is to be written,

select a domain associated with the specified identifier,

select a first block to which the first data is to be written, from a group of blocks belonging to the selected domain, and

write the first data to a first location of the first block; and

in response to receiving a read command from the host, the read command specifying a second address,

read the first data from the first location of the first block.

2. The memory system according to claim 1 , wherein

the first address includes a logical address associated with the first data but does not include an identifier of the first block.

3. The memory system according to claim 2 , wherein

the controller is further configured to notify the host of the first location by using at least the identifier of the first block.

4. The memory system according to claim 3 , wherein

the controller is configured to notify the host of the first location by using an offset address in the first block and the identifier of the first block.

5. The memory system according to claim 4 , wherein

each of the plurality of blocks includes a plurality of pages, each of the plurality of pages being a unit for a write operation, and

the controller is configured to specify the offset address by using a multiple of a grain, a size of the grain being different from a size of each of the plurality of pages.

6. The memory system according to claim 2 , wherein

the second address includes at least the identifier of the first block.

7. The memory system according to claim 6 , wherein

the second address does not include the logical address associated with the first data.

8. The memory system according to claim 2 , wherein

the controller is further configured to write the logical address, which is associated with the first data, to the nonvolatile memory along with the first data.

9. The memory system according to claim 8 , wherein

the controller is further configured to:

copy the first data and the logical address to a second location of the nonvolatile memory; and

notify the host of the second location and the logical address.

10. The memory system according to claim 1 , wherein

each of the plurality of blocks belongs to only one domain among the plurality of domains.

11. The memory system according to claim 1 , wherein

the nonvolatile memory includes a plurality of dies, and

each of the plurality of dies belongs to only one domain among the plurality of domains.

12. A memory system connectable to a host, comprising:

a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for an erase operation, the plurality of blocks being classified into a plurality of domains; and

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

in response to receiving a write command from the host, the write command requesting to write first data and specifying a logical address associated with the first data but not specifying an identifier of a block to which the first data is to be written, the write command further specifying an identifier of a domain to which the first data is to be written,

select a domain associated with the specified identifier, among the plurality of domains,

allocate a block to which the first data is to be written, from a group of blocks belonging to the selected domain, and

write the first data to a first location of the nonvolatile memory and notify the host of the first location by using at least the identifier of the block to which the first data is written; and

in response to receiving a read command from the host, the read command specifying at least the identifier of the block to which the first data is written,

read the first data from the first location of the nonvolatile memory.

13. A method of controlling a nonvolatile memory, the nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for an erase operation, the plurality of blocks being classified into a plurality of domains, said method comprising:

in response to receiving a write command from a host, the write command designating to write first data and specifying a first address and an identifier of a domain among the plurality of domains to which the first data is to be written,

selecting a domain associated with the specified identifier,

selecting a first block to which the first data is to be written, from a group of blocks belonging to the selected domain, and

writing the first data to a first location of the first block; and

in response to receiving a read command from the host, the read command specifying a second address,

reading the first data from the first location of the first block.

14. The method according to claim 13 , wherein

the first address includes a logical address associated with the first data but does not include an identifier of the first block.

15. The method according to claim 14 , further comprising:

notifying the host of the first location by using at least the identifier of the first block.

16. The method according to claim 15 , further comprising:

notifying the host of the first location by using an offset address in the first block and the identifier of the first block.

17. The method according to claim 16 , wherein

each of the plurality of blocks includes a plurality of pages, each of the plurality of pages being a unit for a write operation, and

the offset address is specified by using a multiple of a grain, a size of the grain being different from a size of each of the plurality of pages.

18. The method according to claim 14 , wherein

the second address includes at least the identifier of the first block.

19. The method according to claim 18 , wherein

the second address does not include the logical address associated with the first data.

20. The method according to claim 14 , further comprising:

writing the logical address, which is associated with the first data, to the nonvolatile memory along with the first data.

21. The method according to claim 20 , further comprising:

copying the first data and the logical address to a second location of the nonvolatile memory; and

notifying the host of the second location and the logical address.

22. The method according to claim 13 , wherein

each of the plurality of blocks belongs to only one domain among the plurality of domains.

23. The method according to claim 13 , wherein

the nonvolatile memory includes a plurality of dies, and

each of the plurality of dies belongs to only one domain among the plurality of domains.

Assignments (3)
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 →