Memory controller
AssigneeToshiba Memory Corporation
InventorSho Kodama
Life of this patent
Estimating the term…
Abstract
A memory controller controls first and second memory, and includes a control unit. In response to a first write command from a host, which designates a logical address for first data to be written to the first memory, the control unit determines whether mapping of the logical address is presently being managed in a first mode with a first cluster size or a second mode with a second cluster size that is smaller than the first cluster size, changes first mapping data for the logical address stored in a first table in the second memory, from the first cluster size to the second cluster size, if the mapping of the logical address is being managed in the first mode and the first mapping data can be compressed at a ratio lower than a first compression ratio, and writes the first data to a physical address of the first memory.
Claims20
A memory controller that controls a nonvolatile, first memory and a second memory that is accessible at a higher speed than the first memory, the memory controller comprising:
- a processor that is configured to, in response to a first write command from a host, which designates a logical address for first data to be written to the first memory:
- determine whether mapping of the logical address is presently being managed in a first mode in which a minimum unit of data management between a logical space and a physical space of the first memory is a first cluster size or a second mode in which the minimum unit of data management is a second cluster size that is smaller than the first cluster size;
- decompress first mapping data for the logical address stored in a first table in the second memory if the mapping of the logical address is being managed in the second mode;
- update the first mapping data with the physical address to which the first data is to be written;
- when the mapping of the logical address is being managed in the first mode, a data size of the first data is equal to the second cluster size, a first condition relating to a valid data ratio of the first mapping data is satisfied, and the first data can be compressed to a ratio lower than a first compression ratio, change the management of the first mapping data from the first mode to second mode, collect pieces of data stored in a first physical space being managed by the first mapping data, and then store the collected pieces of data in a second physical space managed by the first mapping data, the second physical space having consecutive physical addresses, wherein the mapping of the first physical space is being managed in the first mode, and the mapping of the second physical space is being managed in the second mode;
- and
- write the first data to a physical address of the first memory.
A method of controlling a nonvolatile first memory and a second memory that is accessible at a higher speed than the first memory, the method comprising:
- in response to a first write command from a host, which designates a logical address for first data to be written to the first memory:
- determining whether mapping of the logical address is presently being managed in a first mapping mode in which a minimum unit of data management between a logical space and a physical space of the first memory is a first cluster size or a second mapping mode in which the minimum unit of data management is a second cluster size that is smaller than the first cluster size;
- decompressing first mapping data for the logical address stored in a first table in the second memory if the mapping of the logical address is being managed in the second mapping mode;
- updating the first mapping data with the physical address to which the first data is to be written
- when the mapping of the logical address is being managed in the first mode, a data size of the first data is equal to the second cluster size, a first condition relating to a valid data ratio is satisfied, and the first data can be compressed to a ratio lower than a first compression ratio, changing the management of the first mapping data from the first mode to second mode, collecting pieces of data stored in a first physical space being managed by the first mapping data, and then storing the collected pieces of data in a second physical space managed by the first mapping data, the second physical space having consecutive physical addresses, wherein the mapping of the first physical space is being managed in the first mode, and the mapping of the second physical space is being managed in the second mode;
- and
- writing the first data to a physical address of the first memory.
A memory controller, comprising:
- a processor that is configured to:
- receive a write request designating a logical block address of a first memory and including write data;
- normalize the write request on a per-large cluster basis or a per-normal cluster size basis;
- acquire cluster mode information of the designated logical block address from a logical block address segment mode information table;
- determine whether mapping of the designated logical address is presently being managed on a large cluster size basis or a normal cluster size basis according to the acquired cluster mode information;
- decompress first mapping data if the mapping of the designated logical address is being managed in the normal cluster size basis, and
- update the first mapping data with the physical address to which the first data is to be written;
- determine whether to change management of the first mapping data from the large cluster size to the normal cluster size based on a compression ratio of the updated first mapping data;
- and
- write the first data to a physical address of the first memory.
Dependencies are inferred from the claim text.