IP Library › Granted Patent US 11,875,056
Granted Patent B2
US 11,875,056 · App. 17/364,401 · Granted Jan 16, 2024

Controller for managing commands with zone identifications and memory system having the same

Inventor: Jong Tack Jung (Icheon-si, KR)
Assignee: SK HYNIX INC.
G06F3/0659G06F3/0604G06F3/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,875,056
App. No.
17/364,401
Granted
Jan 16, 2024
Kind
B2
Abstract

A controller is provided. The controller includes a write queue configured to store commands for operating a memory device that are generated based on requests received from a host, zone identifications of the commands each indicating a memory region in the memory device to store data corresponding to a command, and write pointers of the commands each indicating an order that the requests are output from the host; and a queue controller configured to receive the commands, the zone identifications, and the write pointers from the write queue, store the commands in buffers allocated the zone identifications based on the write pointers, respectively, and based on an occurrence of an event that a number of commands stored in a buffer among the buffers reaches a preset number set in the buffer, output commands stored in the buffer.

Claims (54)

1. A memory system, comprising:

a storage device including a plurality of memory blocks each grouped into one of a plurality of zones corresponding to a plurality of zone identification; and

a controller including:

a command manager configured to, based on requests and write pointers received from a host, generate commands allocated to the write pointers, and store the commands based on operating states of the storage device, each of the write pointers indicating an order that the requests are output from the host; and

a zone manager configured to:

in response to the commands being received from the command manager, store the commands in a write queue regardless of an order of the write pointers,

select a command corresponding to a selected zone identification among the commands stored in the write queue,

store the selected command in a selected buffer allocated to the selected zone identification such that an order of write pointers of commands stored in the selected buffer is consecutive, and

output the commands stored in the selected buffer, based on a number of the commands stored in the selected buffer.

2. The memory system of claim 1 , wherein the storage device is configured to, based on the commands being received from the controller, store data in at least one memory block corresponding to the selected zone identification of the commands.

3. The memory system of claim 1 , wherein the controller comprises:

a system buffer configured to store a mapping table including physical block addresses, logical block addresses, and the plurality of zone identifications; and

a memory interface configured to store the commands output from the zone manager and physical block addresses associated with the commands, and transfer the physical block addresses and the commands to the storage device.

4. The memory system of claim 1 , wherein the zone manager comprises:

a write queue configured to store the commands output from the command manager in an order in which the commands are input to the write queue by allocating the plurality of zone identifications and the write pointers; and

a queue controller configured to store the selected command in the selected buffer allocated to the selected zone identification of the selected command among buffers, according to the order of the write pointer of the selected command, and output commands stored in a buffer whose storage size is filled up among the buffers.

5. The memory system of claim 4 , wherein each of the buffers includes sub-buffers to which the write pointers are respectively allocated, and

wherein the selected command stored in a sub-buffer corresponding to the write pointer of the selected command.

6. The memory system of claim 5 , wherein the controller is configured to:

assign a priority to the commands that are stored in the buffer whose storage area is filled up, and

output the commands stored in the buffer.

7. The memory system of claim 1 , wherein the controller is configured to:

output commands associated with write pointers including a control key in response to an output request from the host.

8. A controller, comprising:

a command manager configured to generate commands based on requests received from a host, allocate write pointers to the commands in an order in which the commands are generated, and store the commands in order based on an operating state of a storage device, the storage device including memory zones, each memory zone having a corresponding zone identification;

a write queue configured to, in response to the commands being received from the command manager, associate each of the commands with a corresponding zone identification and store the commands according to an order that the commands have received regardless of an order of the write pointers;

temporary buffers configured to store the commands based on the zone identifications associated with the commands; and

a zone manager configured to:

in response to a command output from the write queue, store the command in a temporary buffer corresponding to a zone identification of the command among the temporary buffers such that an order of write pointers of commands stored in a selected buffer is consecutive, and output the commands stored in the temporary buffer when a storage size of the temporary buffer is filled up.

9. A controller for controlling a memory device, comprising:

a write queue configured to store a plurality of commands for operating the memory device that are generated based on a plurality of requests received from a host, a plurality of zone identifications of the plurality of commands each indicating a memory region in the memory device, and a plurality of write pointers of the plurality of commands each indicating an order that the plurality of requests are output from the host, wherein the plurality of commands are stored in the write queue regardless of an order of the plurality of write pointers; and

a queue controller comprising a plurality of buffers allocated to one of the plurality of zone identifications, and the queue controller configured to:

receive the plurality of commands, the plurality of zone identifications, and the plurality of write pointers from the write queue,

select a command corresponding to the one of the plurality of zone identifications among the plurality of commands,

store the selected command in a selected buffer allocated to the one of plurality of zone identifications such that an order of write pointers of commands stored in the selected buffer is consecutive, and

output the commands stored in the selected buffer based on a number of the commands stored in the selected buffer.

10. The controller of claim 9 , wherein the plurality of zone identifications includes indices that are allocated to corresponding memory regions according to consecutive logical block addresses, and

wherein each of the plurality of write pointers comprises a logical block address used to write consecutive data in the memory region.

11. The controller of claim 9 , wherein the write queue includes a queue buffer configured to store the plurality of commands.

12. The controller of claim 9 , wherein each of the plurality of buffers includes sub-buffers, and

wherein each of the sub-buffers corresponds to one of the plurality of write pointers.

13. The controller of claim 12 , wherein the selected command includes a first command, to which a write pointer designated as a start pointer is allocated, and

wherein the first command is stored in a first sub-buffer among the sub-buffers included in the selected buffer.

14. The controller of claim 13 , wherein the queue controller is configured to store the selected command in the sub-buffers according to an order of write pointers of the command.

15. The controller of claim 9 , wherein each of the plurality of buffers includes sub-buffers, and

wherein the queue controller is further configured to, hold output of at least one command stored in a buffer until corresponding commands are stored in sub-buffers included in the buffer.

16. The controller of claim 9 , further comprising:

a system buffer configured to store mapping information of physical block addresses and logical block addresses and mapping information of the logical block addresses and zone identifications of memory regions included in the memory device.

17. The controller of claim 9 , further comprising:

a memory interface including a plurality of output buffers corresponding to the plurality of zone identifications in an one-to-one manner.

18. The controller of claim 17 , wherein the queue controller is further configured to output, to an output buffer allocated to the zone identification, the commands stored in sub-buffers included in a buffer allocated to a zone identification, after the output buffer becomes empty.

19. The controller of claim 9 , further comprising:

a command manager configured to generate the plurality of commands based on a reception order that the plurality of requests are received from the host, determine a transmission order of the plurality of commands to be different from the reception order based on an operating state of the memory device, and transfer the plurality of commands to the write queue according to the transmission order, and

wherein the command manager is configured to, in response to write pointers outputted from the queue controller, search for physical block addresses respectively mapped to the write pointers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2021
From: JUNG, JONG TACK
To: SK HYNIX INC.
Reel/Frame 056724/0467 →
Priority Claims (1)
KR 10-2021-0006922 · Jan 18, 2021 · national
Continuity (1)
Related Publication 20220229596A1 · Jul 21, 2022