IP Library › Granted Patent US 11,630,764
Granted Patent B2
US 11,630,764 · App. 16/891,314 · Granted Apr 18, 2023

Memory system, memory controller, and method for operating same

Inventors: Min Jun Jang (Gyeonggi-do, KR); Hyoung Pil Choi (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F12/0246G06F12/0253G06F11/3037G06F12/0646G06F13/1689G06F2212/1016G06F2212/7205
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,630,764
App. No.
16/891,314
Granted
Apr 18, 2023
Kind
B2
Abstract

Embodiments of the present disclosure relate to a memory system, a memory controller, and a method for operating the same. Garbage collection is performed with regard to the memory device on the basis of a first amount of time and a second amount of time, the first amount of time being a period of time between triggering of first garbage collection and triggering of second garbage collection, and the second amount of time being an amount of time necessary to perform the second garbage collection. A ratio of the first amount of time to the second amount of time is determined as a target ratio value, and the second amount of time is determined to be equal to or longer than a minimum garbage collection operation time. Accordingly, efficient garbage collection can be performed, and the optimal time to perform garbage collection can be determined with regard to a configured performance drop value.

Claims (49)

1. A memory system comprising:

a memory device; and

a memory controller configured to control the memory device, wherein the memory controller is further configured to:

determine a target ratio value of garbage collection relative to all memory operations including read, garbage collection, erase and write operations, wherein the target ratio value is a ratio of a first amount of time to a second amount of time, wherein the first amount of time is a period of time between triggering of first garbage collection and triggering of second garbage collection, and wherein the second amount of time is an amount of time necessary to perform the second garbage collection;

determine, for the second amount of time necessary to perform the second garbage collection, a time equal to or longer than a minimum garbage collection operation time; and

perform garbage collection based on the determined first amount of time between the triggering of the first garbage collection and the triggering of the second garbage collection based on the target ratio value, and the determined second amount of time which is equal to or longer than the minimum garbage collection operation time, such that the target ratio value of the garbage collection relative to all memory operations including the read, garbage collection, erase, and write operations is satisfied,

wherein the memory controller is configured to determine a performance drop value X based on a sum of resources used for garbage collection GC_PERFORM and a sum of resources used to process user data USER_PERFORM,

wherein the performance drop value X, the sum of resources used for garbage collection GC_PERFORM and the sum of resources used to process user data USER_PERFORM satisfy equation 1 below,

X :(100 −X )=(GC_PERFORM):(USER_PERFORM),  [Equation 1]

wherein the memory controller is configured to determine the second amount of time TIME_ 2 on the basis of i) a performance drop value X and ii) a read time READ_TIME, which is an amount of time spent to perform all user data reading operation since the first garbage collection was triggered,

wherein the second amount of time TIME_ 2 , the performance drop value X and the read time READ_TIME satisfy equation 3 below

X :(100 −X )=(TIME_2):(READ_TIME).  [Equation 3]

2. The memory system of claim 1 , wherein the memory controller is further configured to trigger the second garbage collection when the total sum of the size of user data written in the memory device, since triggering of the first garbage collection, becomes equal to or greater than a threshold.

3. The memory system of claim 1 , wherein the memory controller is further configured to determine a first data size DATA_SIZE_ 1 , which is the size of data written, in the memory device, by the second garbage collection when the second garbage collection is performed, on the basis of i) the performance drop value X and ii) a second data size DATA_SIZE_ 2 , which is the total sum of the size of user data, requested by a host, written in the memory device since the first garbage collection is triggered, and

wherein the first data size DATA_SIZE_ 1 , the performance drop value X and the second data size DATA_SIZE_ 2 satisfy equation 2 below,

X :(100 −X )=(DATA_SIZE_1):(DATA_SIZE_2).  [Equation 2]

4. The memory system of claim 3 , wherein the memory controller is configured to determine the second amount of time on the basis of a value obtained by dividing the first data size by a number of partial programs which represent a number of unit pieces of data that can be programmed in the memory device per a set amount of time.

5. A memory controller comprising:

a memory interface configured to communicate with a memory device; and

a control circuit configured to control the memory device,

wherein the control circuit is further configured to:

determine a target ratio value of garbage collection relative to all memory operations including read, garbage collection, erase and write operations, wherein the target ratio value is a ratio of a first amount of time to a second amount of time, wherein the first amount of time is a period of time between triggering of first garbage collection and triggering of second garbage collection, and wherein the second amount of time is an amount of time necessary to perform the second garbage collection;

determine, for the second amount of time necessary to perform the second garbage collection, a time equal to or longer than a minimum garbage collection operation time; and

perform garbage collection based on the determined first amount of time between the triggering of the first garbage collection and the triggering if the second garbage collection based on the target ratio value, and the determined second amount of time which is equal to or longer than the minimum garbage collection operation time, such that the target ratio value of the garbage collection relative to all memory operations including the read, garbage collection, erase, and write operations is satisfied,

wherein the control circuit is configured to determine a performance drop value X based on a sum of resources used for garbage collection GC_PERFORM and a sum of resources used to process user data USER_PERFORM,

wherein the performance drop value X, the sum of resources used for garbage collection GC_PERFORM and the sum of resources used to process user data USER_PERFORM satisfy equation 1 below,

X :(100 −X )=(GC_PERFORM):(USER_PERFORM),  [Equation 1]

wherein the control circuit is configured to determine the second amount of time TIME_ 2 on the basis of i) a performance drop value X and ii) a read time READ_TIME, which is an amount of time spent to perform all user data reading operation since the first garbage collection was triggered,

wherein the second amount of time TIME_ 2 , the performance drop value X and the read time READ_TIME satisfy equation 3 below

X :(100 −X )=(TIME_2):(READ_TIME).  [Equation 3]

6. The memory controller of claim 5 , wherein the control circuit is further configured to trigger the second garbage collection when the total sum of the size of user data written in the memory device, since triggering of the first garbage collection, becomes equal to or greater than a threshold.

7. The memory controller of claim 5 , wherein the control circuit is further configured to determine a first data size DATA_SIZE_ 1 , which is a size of data written, in the memory device, by the second garbage collection when the second garbage collection is performed, on the basis of i) the performance drop value X and ii) a second data size DATA_SIZE_ 2 , which is the total sum of the size of user data, requested by a host, written in the memory device since the first garbage collection is triggered, and

wherein the first data size DATA_SIZE_ 1 , the performance drop value X and the second data size DATA_SIZE_ 2 satisfy equation 2 below,

X :(100 −X )=(DATA_SIZE_1):(DATA_SIZE_2).  [Equation 2]

8. The memory controller of claim 7 , wherein the control circuit is configured to determine the second amount of time on the basis of a value obtained by dividing the first data size by a number of partial programs which represent a number of unit pieces of data that can be programmed in the memory device per a set amount of time.

9. A method for operating a memory controller configured to control a memory device, the method comprising:

determining a target ratio value of garbage collection relative to all memory operations including read, garbage collection, erase and write operations, wherein the target ratio value is a ratio of a first amount of time to a second amount of time, wherein the first amount of time is a period of time between triggering of first garbage collection and triggering of second garbage collection, and wherein the second amount of time is an amount of time necessary to perform the second garbage collection;

determining, for the second amount of time necessary to perform the second garbage collection, a time equal to or longer than a minimum garbage collection operation time; and

performing garbage collection based on the determined first amount of time between the triggering of the first garbage collection and the triggering of the second garbage collection based on the target ratio value, and the determined second amount of time which is equal to or longer than the minimum garbage collection operation time, such that the target ratio value of the garbage collection relative to all memory operations including the read, garbage collection, erase, and write operations is satisfied,

wherein a performance drop value X is determined based on a sum of resources used for garbage collection GC_PERFORM and a sum of resources used to process user data USER_PERFORM,

wherein the performance drop value X, the sum of resources used for garbage collection GC_PERFORM and the sum of resources used to process user data USER_PERFORM satisfy equation 1 below,

X :(100 −X )=(GC_PERFORM):(USER_PERFORM),  [Equation 1]

wherein the second amount of time TIME_ 2 is determined on the basis of i) a performance drop value X and ii) a read time READ_TIME, which is an amount of time spent to perform all user data reading operation since the first garbage collection was triggered,

wherein the second amount of time TIME_ 2 , the performance drop value X and the read time READ_TIME satisfy equation 3 below

X :(100 −X )=(TIME_2):(READ_TIME).  [Equation 3]

10. The method of claim 9 , wherein the second garbage collection is triggered when the total sum of the size of user data written in the memory device, since triggering of the first garbage collection, becomes equal to or greater than a threshold.

11. The method of claim 9 , wherein the determining of a second amount of time includes determining a first data size DATA_SIZE_ 1 , which is a size of data written in the memory device by the second garbage collection when the second garbage collection is performed, on the basis of i) the performance drop value X and ii) a second data size DATA_SIZE_ 2 , which is the total sum of the size of user data, requested by a host, written in the memory device after the first garbage collection is triggered, and

wherein the first data size DATA_SIZE_ 1 , the performance drop value X and the second data size DATA_SIZE_ 2 satisfy equation 2 below,

X :(100− X )=(DATA_SIZE_1):(DATA_SIZE_2).  [Equation 2]

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2020
From: JANG, MIN JUN; CHOI, HYOUNG PIL
To: SK HYNIX INC.
Reel/Frame 052822/0148 →
Priority Claims (1)
KR 10-2019-0153987 · Nov 27, 2019 · national
Continuity (1)
Related Publication 20210157722A1 · May 27, 2021
Cited By (1)
US 12,481,586