US 11,868,246 B2
Memory system and non-transitory computer readable recording medium
Shinichi Kanno, Tokyo (JP)
Assigned to Kioxia Corporation, Tokyo (JP)
Filed by Kioxia Corporation, Tokyo (JP)
Filed on Apr. 19, 2022, as Appl. No. 17/724,160.
Application 17/724,160 is a continuation of application No. 14/656,405, filed on Mar. 12, 2015, granted, now 11,334,478.
Claims priority of provisional application 62/072,833, filed on Oct. 30, 2014.
Claims priority of application No. 2015-028418 (JP), filed on Feb. 17, 2015.
Prior Publication US 2022/0237114 A1, Jul. 28, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 12/00 (2006.01); G06F 12/02 (2006.01)
CPC G06F 12/0246 (2013.01) [G06F 2212/7205 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A memory system comprising:
a nonvolatile memory including erase unit areas; and
a controller configured to control the nonvolatile memory, wherein the controller is further configured to:
manage a plurality of namespaces including at least a first namespace and a second namespace;
receive a first command for setting the first namespace from a host device and a second command for setting the second namespace from the host device, the first namespace and the second namespace corresponding to an LBA (logical block addressing) space, the LBA space including logical addresses, the first namespace and the second namespace respectively indicated by a first namespace ID and a second namespace ID from the host device;
assign a first plurality of erase unit areas among the erase unit areas to the first namespace based on the first command;
assign a second plurality of erase unit areas among the erase unit areas to the second namespace based on the second command;
generate management data in which the first plurality of erase unit areas are associated with the first namespace and the second plurality of erase unit areas are associated with the second namespace;
store the management data in a memory;
execute garbage collection on each of the first namespace and second namespace individually;
after executing the garbage collection on the first namespace, execute changing, on the basis of the number of access or data amount of the first namespace and the number of access or data amount of the second namespace, an empty erase unit area belonging to the first namespace to an erase unit area belonging to the second namespace for an assignment change, to execute wear leveling on the first namespace and the second namespace; and
update the management data in the memory in response to executing the changing,
the controller includes a configuration unit,
the configuration unit is configured to:
assign the erase unit areas to the plurality of namespaces to generate the management data, and store the management data in the memory;
execute the changing the empty erase unit area which stores no data from an original namespace corresponding to the empty erase unit area to a different namespace and update the management data, the empty erase unit area created as a result of the garbage collection; and
set provisioning areas for over provisioning to the plurality of namespaces individually after updating the management data,
wherein the controller is further configured to receive a write command together with the first namespace ID, a writing destination, data size of write data, and write data to be stored in the nonvolatile memory.