IP Library Granted Patent US 12,242,749
Granted Patent B2
US 12,242,749 · App. 18/660,232 · Granted Mar 4, 2025

Memory controller controlling synchronization operation based on fused linked list and operating method thereof

Inventor: Eu Joon Byun (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/0644G06F3/0604G06F3/0673G06F16/9024
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 12,242,749
App. No.
18/660,232
Granted
Mar 4, 2025
Kind
B2
Abstract

Embodiments of the present disclosure relate to a memory controller and operating method thereof. According to embodiments of the present disclosure, the memory controller may generate a fused linked list which includes information of a plurality of write commands received from a host and a plurality of synchronization commands requesting a synchronization operation, and control the synchronization operation for one or more of the plurality of write commands based on the fused linked list.

Claims (30)

1. A memory controller, comprising:

generating a fused linked list which includes information of a plurality of write commands received from a host and a plurality of synchronization commands requesting a synchronization operation, wherein the synchronization operation is an operation for completing storage of data in a memory device, the data being requested to be written by one or more of the plurality of write commands, and

controlling the synchronization operation for one or more of the plurality of write commands based on the fused linked list,

wherein the fused linked list includes a head node indicating a start position of the fused linked list, a plurality of write command nodes each of which corresponds to one of the plurality of write commands and a plurality of synchronization command nodes each of which corresponds to one of the plurality of synchronization commands,

wherein a target write command node, among the plurality of write command nodes, is removed from the fused linked list after synchronization operation for the target write command node is completed,

wherein the target write command node is located between the head node and a first synchronization command node, and

wherein the first synchronization command node is selected from among the plurality of synchronization command nodes.

2. The memory controller according to claim 1 , wherein the fused linked list is a double linked list.

3. The memory controller according to claim 1 , further comprising accessing, within the fused linked list, the target write command node by traversing a path defined by pointers of nodes from the head node to the first synchronization command node.

4. The memory controller according to claim 3 , further comprising accessing, within the fused linked list, the target write command node by traversing a path defined by pointers of nodes from a second synchronization command node to the first synchronization command node,

wherein the second synchronization command node is selected from among the plurality of synchronization command nodes,

wherein the second synchronization command node is located between the head node and the first synchronization command node, and

wherein write command corresponding to the target write command node is not to be synchronized by synchronization command corresponding to the second synchronization command node.

5. The memory controller according to claim 4 , further comprising accessing, within the fused linked list, the second synchronization command node by traversing a path defined by pointers of nodes from the head node to the first synchronization command node.

6. The memory controller according to claim 1 , further comprising removing, from the fused linked list, the first synchronization command node when there is no write command node located on the path defined by the pointers of nodes from the head node to the first synchronization command node.

7. A method for operating a memory controller, the method comprising:

generating a fused linked list which includes information of a plurality of write commands received from a host and a plurality of synchronization commands requesting a synchronization operation, wherein the synchronization operation is an operation of completing storage of data in a memory device, the data being requested to be written by one or more of the plurality of write commands, and

controlling the synchronization operation for one or more of the plurality of write commands based on the fused linked list,

wherein the fused linked list includes a head node indicating a start position of the fused linked list, a plurality of write command nodes each of which corresponds to one of the plurality of write commands and a plurality of synchronization command nodes each of which corresponds to one of the plurality of synchronization commands,

wherein a target write command node, among the plurality of write command nodes, is removed from the fused linked list after synchronization operation for the target write command node is completed,

wherein the target write command node is located between the head node and a first synchronization command node,

wherein the first synchronization command node is selected from among the plurality of synchronization command nodes.

8. The method according to claim 7 , wherein the fused linked list is a double linked list.

9. The method according to claim 7 , further comprising accessing, within the fused linked list, the target write command node by traversing a path defined by pointers of nodes from the head node to the first target synchronization command node.

10. The method according to claim 9 , further comprising accessing, within the fused linked list, the target write command node by traversing a path defined by pointers of nodes from a second synchronization command node to the first synchronization command node,

wherein the second synchronization command node is selected from among the plurality of synchronization command nodes,

wherein the second synchronization command node is located between the head node and the first synchronization command node, and

wherein write command corresponding to the target write command node is not to be synchronized by synchronization command corresponding to the second synchronization command node.

11. The method according to claim 10 , further comprising accessing, within the fused linked list, the second synchronization command node by traversing a path defined by pointers of nodes from the head node to the first target synchronization command node.

12. The method according to claim 7 , further comprising removing, from the fused linked list, the first synchronization command node when there is no write command node located on the path defined by the pointers of nodes from the head node to the first synchronization command node.

Priority Claims (1)
KR 10-2021-0132859 · Oct 7, 2021 · national
Continuity (2)
Continuation 17728921 · Apr 25, 2022
Related Publication 20240289043A1 · Aug 29, 2024
References Cited (7)
US 10228869B1 · Nakibly et al. · 2019 [cited by applicant]
US 10599477B1 · Aral et al. · 2020 [cited by applicant]
US 20030056034A1 · Olds et al. · 2003 [cited by applicant]
US 20060095741A1 · Asher · 2006 [cited by examiner]
US 20190227737A1 · Gilsdorf · 2019 [cited by examiner]
US 20210200582A1 · Wei · 2021 [cited by applicant]
KR 1020200017120A · 2020 [cited by applicant]