IP Library Granted Patent US 11,922,014
Granted Patent B2
US 11,922,014 · App. 17/903,636 · Granted Mar 5, 2024

Memory system and method

Inventors: Keiri Nakanishi (Kawasaki Kanagawa, JP); Kensaku Yamaguchi (Kawasaki Kanagawa, JP); Takashi Takemoto (Yokohama Kanagawa, JP)
Assignee: Kioxia Corporation
G06F3/0604G06F3/0631G06F3/0659G06F3/0679
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,922,014
App. No.
17/903,636
Granted
Mar 5, 2024
Kind
B2
Abstract

According to one embodiment, a controller of a memory system manages a first table maintaining a relationship between a logical address and a physical address, compresses first data corresponding to a first address of a write command, specifies a size of second data obtained by compressing the first data, determines allocation of the second data on a memory based on the size of the second data, stores a second address corresponding to a physical area where a head of the second data is stored and a physical area number used to store the second data in an entry of the first logical address in the first table, and stores the first address, offset of a position of a leader of the second data in the physical area, and the size of the second data in the physical area.

Claims (72)

1. A memory system comprising:

a nonvolatile memory; and

a controller which is communicable with a host and configured to control the nonvolatile memory, wherein

the controller is configured to:

manage a first table maintaining a corresponding relationship between an address designated by the host and an address indicative of a physical position of the nonvolatile memory;

compress first data corresponding to a first address designated by a write command received from the host;

specify a size of second data obtained by compressing the first data;

determine allocation of the second data on the nonvolatile memory based on the size of the second data;

store a second address which is an address corresponding to a physical area where a head of the second data is stored and a physical area number used to store the second data in an entry corresponding to the first address of entries of the first table; and

store the first address, offset information indicative of a position of a leader of the second data in the physical area, and the size of the second data in a first area of the physical area where the second data are stored.

2. The memory system of claim 1 , wherein, with respect to a read command by which the first address is designated, received from the host, the controller is configured to:

read data including the second data from the physical area in which the second data of the nonvolatile memory are stored, based on the second address and the physical area number stored in the entry corresponding to the first address of the entries of the first table;

extract the second data from the read data, based on the offset information and the size stored in the first area of the physical area where the second data are stored; and

acquire the first data by decompressing the extracted second data.

3. The memory system of claim 2 , wherein the first area is a constant length area in which the first address related to the second data of a first number, the offset information, and the size can be stored.

4. The memory system of claim 2 , wherein:

the controller is further configured to store data number information indicative of a number of the second data to be stored in the physical area in the first area; and

the first area is a variable length area in which the data number information, the first address related to the second data which are the number indicated by the data number information, the offset information, and the size are stored.

5. The memory system of claim 4 , wherein the controller is further configured to extract the second data from the read data based on the data number information.

6. A memory system comprising:

a nonvolatile memory; and

a controller which is communicable with a host and configured to control the nonvolatile memory, wherein

the controller is configured to:

manage a first table maintaining a corresponding relationship between an address designated by the host and an address indicative of a physical position of the nonvolatile memory;

compress first data corresponding to a first address designated by a write command received from the host;

specify a size of second data obtained by compressing the first data;

determine allocation of the second data on the nonvolatile memory based on the size of the second data;

store a second address which is an address corresponding to a physical area where a head of the second data is stored, a physical area number used to store the second data, and the size of the second data in an entry corresponding to the first address from entries of the first table; and

store the first address and offset information indicative of a position of a leader of the second data in the physical area in a first area of the physical area where the second data are stored.

7. The memory system of claim 6 , wherein, with respect to a read command by which the first address is designated, received from the host, the controller is configured to:

read data including the second data from the physical area in which the second data of the nonvolatile memory are stored, based on the second address and the physical area number stored in the entry corresponding to the first address of the entries of the first table;

extract the second data from the read data, based on the offset information stored in the first area of the physical area where the second data are stored and the size stored in the entry; and

acquire the first data by decompressing the extracted second data.

8. The memory system of claim 7 , wherein the first area is a constant length area in which the first address related to second data of a first number and the offset information can be stored.

9. The memory system of claim 7 , wherein:

the controller is further configured to store data number information indicative of a number of the second data to be stored in the physical area in the first area; and

the first area is a variable length area in which the data number information, the first address related to the second data whose number is indicated by the data number information, and the offset information are stored.

10. The memory system of claim 9 , wherein the controller is further configured to extract the second data from the read data based on the data number information.

11. The memory system of claim 6 , wherein:

the nonvolatile memory is a memory in which data overwrite is not performable to the physical area with already-written data, and is a memory to erase data per block formed of the physical areas of second number; and

the controller is further configured to manage a second table in which a valid data amount of each block of the nonvolatile memory is maintained, based on a size stored in the first table.

12. A method of controlling a nonvolatile memory using a controller, the method comprising:

managing a first table maintaining a corresponding relationship between an address designated by a host and an address indicative of a physical position of the nonvolatile memory;

compressing first data corresponding to a first address designated by a write command received from the host;

specifying a size of second data obtained by compressing the first data;

determining allocation of the second data on the nonvolatile memory based on the size of the second data;

storing a second address which is an address corresponding to a physical area where a head of the second data is stored and a physical area number used to store the second data in an entry corresponding to the first address of entries of the first table; and

storing the first address, offset information indicative of a position of a leader of the second data in the physical area, and the size of the second data in a first area of the physical area where the second data are stored.

13. A method of claim 12 , with respect to a read command by which the first address is designated, received from the host, the method further comprising:

reading data including the second data from the physical area in which the second data of the nonvolatile memory are stored, based on the second address and the physical area number stored in the entry corresponding to the first address of the entries of the first table;

extracting the second data from the read data, based on the offset information and the size stored in the first area of the physical area where the second data are stored; and

acquiring the first data by decompressing the extracted second data.

14. A method of claim 13 , further comprising storing data number information indicative of a number of the second data to be stored in the physical area in the first area,

wherein the first area is a variable length area in which the data number information, the first address related to the second data which are the number indicated by the data number information, the offset information, and the size are stored.

15. A method of claim 14 , further comprising extracting the second data from the read data based on the data number information.

16. A method of controlling a nonvolatile memory using a controller, the method comprising:

managing a first table maintaining a corresponding relationship between an address designated by a host and an address indicative of a physical position of the nonvolatile memory;

compressing first data corresponding to a first address designated by a write command received from the host;

specifying a size of second data obtained by compressing the first data;

determining allocation of the second data on the nonvolatile memory based on the size of the second data;

storing a second address which is an address corresponding to a physical area where a head of the second data is stored, a physical area number used to store the second data, and the size of the second data in an entry corresponding to the first address from entries of the first table; and

storing the first address and offset information indicative of a position of a leader of the second data in the physical area in a first area of the physical area where the second data are stored.

17. A method of claim 16 , with respect to a read command by which the first address is designated, received from the host, the method further comprising:

reading data including the second data from the physical area in which the second data of the nonvolatile memory are stored, based on the second address and the physical area number stored in the entry corresponding to the first address of the entries of the first table;

extracting the second data from the read data, based on the offset information stored in the first area of the physical area where the second data are stored and the size stored in the entry; and

acquiring the first data by decompressing the extracted second data.

18. A method of claim 17 , further comprising storing data number information indicative of a number of the second data to be stored in the physical area in the first area,

wherein the first area is a variable length area in which the data number information, the first address related to the second data which are the number indicated by the data number information, and the offset information are stored.

19. A method of claim 18 , further comprising extracting the second data from the read data based on the data number information.

20. A method of claim 16 , wherein:

the nonvolatile memory is a memory in which data overwrite is not performable to the physical area with already-written data, and is a memory to erase data per block formed of the physical areas of second number; and

the method further comprises managing a second table in which a valid data amount of each block of the nonvolatile memory is maintained, based on a size stored in the first table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2022
From: NAKANISHI, KEIRI; YAMAGUCHI, KENSAKU; TAKEMOTO, TAKASHI
To: KIOXIA CORPORATION
Reel/Frame 062105/0744 →
Continuity (1)
Related Publication 20230142767A1 · May 11, 2023