IP Library Granted Patent US 11,669,264
Granted Patent B2
US 11,669,264 · App. 17/201,004 · Granted Jun 6, 2023

Method for improving trim command response time

Inventors: Yuki Sasaki (Kamakura, JP); Shinichi Kanno (Ota, JP)
Assignee: Kioxia Corporation
G06F3/0655G06F3/0604G06F3/0611G06F3/0679G06F12/0246G06F2212/7201
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,669,264
App. No.
17/201,004
Granted
Jun 6, 2023
Kind
B2
Abstract

According to one embodiment, a memory system includes a non-volatile memory and a controller. The non-volatile memory is configured to store an address translation table and a data map. In a case where an invalidation command for invalidating the data written in the non-volatile memory is received from the host, the controller is configured to update the address translation table and the data map based on the invalidation command. A response to the invalidation command is transmitted to the host after the address translation table is updated and before the data map is updated.

Claims (64)

1. A memory system that is connectable to a host,

a non-volatile memory; and

a controller configured to be electrically connected to the non-volatile memory to control the non-volatile memory,

wherein the non-volatile memory is configured to store

an address translation table for managing a correspondence between a logical address used by the host to access the memory system and a physical address in which data in the non-volatile memory is written, and

a data map for managing whether the data written in the non-volatile memory is valid or invalid,

in a case where an invalidation command for invalidating the data written in the non-volatile memory is received from the host, the controller is configured to update the address translation table and the data map based on the invalidation command,

a response to the invalidation command is transmitted to the host after the address translation table is updated and before the data map is updated,

the controller is configured to store an invalidation request based on the invalidation command in a queue, retrieve the invalidation request from the queue after the response to the invalidation command is transmitted to the host, and update the data map based on the invalidation request,

the address translation table comprises a plurality of fragment tables,

a range of logical address is allocated to each of the fragment tables,

the invalidation command comprises a logical address for accessing data to be invalidated by the invalidation command,

the controller is configured to update the fragment table specified based on the logical address in the invalidation command among the fragment tables, and

the invalidation request comprises a fragment table before being updated.

2. The memory system according to claim 1 , wherein discrimination information for discriminating data to be invalidated by the invalidation command is given to the fragment table in the invalidation request.

3. The memory system according to claim 2 ,

wherein the discrimination information comprises a magic number, and

the magic number is set in the fragment table in the invalidation request.

4. The memory system according to claim 2 , wherein the discrimination information comprises a range of logical addresses in the invalidation command.

5. The memory system according to claim 1 , wherein

the data map is used to specify the data to be moved when garbage collection is executed, and

the data map includes flag information which indicates whether the data stored in each physical address corresponding to the flag information is valid or invalid.

6. The memory system according to claim 1 ,

wherein other commands received from the host after the invalidation command are executed in preference to the invalidation request, and

the controller is configured to retrieve the invalidation request from the queue after the other commands are executed and update the data map based on the invalidation request.

7. The memory system according to claim 6 , wherein the address translation table has a hierarchical structure and comprises a plurality of fragment tables corresponding to a plurality of hierarchies.

8. The memory system according to claim 1 , wherein the address translation table has a hierarchical structure and comprises a plurality of fragment tables corresponding to a plurality of hierarchies.

9. A memory system that is connectable to a host,

a non-volatile memory; and

a controller configured to be electrically connected to the non-volatile memory to control the non-volatile memory,

wherein the non-volatile memory is configured to store

an address translation table for managing a correspondence between a logical address used by the host to access the memory system and a physical address in which data in the non-volatile memory is written, and

a data map for managing whether the data written in the non-volatile memory is valid or invalid,

in a case where an invalidation command for invalidating the data written in the non-volatile memory is received from the host, the controller is configured to update the address translation table and the data map based on the invalidation command, and

a response to the invalidation command is transmitted to the host after the address translation table is updated and before the data map is updated,

the controller is configured to store an invalidation request based on the invalidation command in a queue, retrieve the invalidation request from the queue after the response to the invalidation command is transmitted to the host, and update the data map based on the invalidation request, and

the invalidation request is stored in the queue at the same time as transmission of a response to the invalidation command or after the transmission.

10. The memory system according to claim 9 , wherein

the data map is used to specify the data to be moved when garbage collection is executed, and

the data map includes flag information which indicates whether the data stored in each physical address corresponding to the flag information is valid or invalid.

11. The memory system according to claim 9 ,

wherein other commands received from the host after the invalidation command are executed in preference to the invalidation request, and

the controller is configured to retrieve the invalidation request from the queue after the other commands are executed and update the data map based on the invalidation request.

12. The memory system according to claim 11 , wherein the address translation table has a hierarchical structure and comprises a plurality of fragment tables corresponding to a plurality of hierarchies.

13. The memory system according to claim 9 , wherein the address translation table has a hierarchical structure and comprises a plurality of fragment tables corresponding to a plurality of hierarchies.

14. A memory system that is connectable to a host,

a non-volatile memory; and

a controller configured to be electrically connected to the non-volatile memory to control the non-volatile memory,

wherein the non-volatile memory is configured to store

an address translation table for managing a correspondence between a logical address used by the host to access the memory system and a physical address in which data in the non-volatile memory is written, and

a data map for managing whether the data written in the non-volatile memory is valid or invalid,

in a case where an invalidation command for invalidating the data written in the non-volatile memory is received from the host, the controller is configured to update the address translation table and the data map based on the invalidation command,

a response to the invalidation command is transmitted to the host after the address translation table is updated and before the data map is updated,

the controller is configured to store an invalidation request based on the invalidation command in a queue, retrieve the invalidation request from the queue after the response to the invalidation command is transmitted to the host, and update the data map based on the invalidation request,

the controller is configured to store a plurality of invalidation requests based on a plurality of invalidation commands in a queue, and execute priority control for the invalidation requests, and

the controller is configured to preferentially update the data map based on the invalidation request comprising a fragment table whose hierarchy is higher than the hierarchy corresponding to the fragment table in each of the invalidation requests.

15. The memory system according to claim 14 , wherein

the data map is used to specify the data to be moved when garbage collection is executed, and

the data map includes flag information which indicates whether the data stored in each physical address corresponding to the flag information is valid or invalid.

16. The memory system according to claim 14 ,

wherein other commands received from the host after the invalidation command are executed in preference to the invalidation request, and

the controller is configured to retrieve the invalidation request from the queue after the other commands are executed and update the data map based on the invalidation request.

17. The memory system according to claim 14 , wherein the address translation table has a hierarchical structure and comprises a plurality of fragment tables corresponding to a plurality of hierarchies.

18. The memory system according to claim 17 , wherein the address translation table has a hierarchical structure and comprises a plurality of fragment tables corresponding to a plurality of hierarchies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2023
From: SASAKI, YUKI; KANNO, SHINICHI
To: KIOXIA CORPORATION
Reel/Frame 062425/0063 →
Priority Claims (1)
JP JP2020-119879 · Jul 13, 2020 · national
Continuity (1)
Related Publication 20220011964A1 · Jan 13, 2022
Cited By (1)
US 12,710,867