IP Library Granted Patent US 11,210,213
Granted Patent B2
US 11,210,213 · App. 16/678,664 · Granted Dec 28, 2021

Controller and operation method thereof

Inventor: Gi-Pyo Um (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F12/0253G06F11/076G06F12/0246G06F13/1668G06F2212/702
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,210,213
App. No.
16/678,664
Granted
Dec 28, 2021
Kind
B2
Abstract

Provided is an operation method of a controller which controls a memory device including a plurality of memory blocks. The operation method may include calculating a number of extended free blocks in the memory device based on valid page counts of the respective memory blocks, when a number of substantive free blocks in the memory device is less than a first threshold value, and performing a garbage collection operation when the number of extended free blocks is less than a second threshold value.

Claims (48)

1. An operation method of a controller which controls a memory device including a plurality of memory blocks, the operation method comprising:

deciding a number of pseudo free blocks having a valid page count greater than ‘0’ and less than a predetermined threshold;

deciding a number of substantive free blocks having a valid page count ‘0’;

calculating a number of extended free blocks in the memory device based on the number of pseudo free blocks and the number of substantive free blocks;

determining whether the number of substantive free blocks is less than a first threshold value and the number of extended free blocks is less than a second threshold value;

performing a garbage collection operation when the number of substantive free blocks is less than the first threshold value and the number of extended free blocks is less than the second threshold value; and

performing the garbage collection operation when the number of substantive free blocks is less than a third threshold value which is smaller than the first threshold value.

2. An operation method of a controller which controls a memory device including a plurality of memory blocks, the operation method comprising:

calculating a total valid page count by summing up valid page counts of respective memory blocks;

calculating a number of extended free blocks based on the total valid page count;

determining whether a number of substantive free blocks is less than a first threshold value and a number of extended free blocks is less than a second threshold value; and

performing a garbage collection operation when the number of substantive free blocks is less than the first threshold value and the number of extended free blocks is less than the second threshold value;

deciding block statuses of the respective memory blocks based on the valid page counts; and

performing the garbage collection operation when the number of substantive free blocks is less than a third threshold value which is smaller than the first threshold value.

3. The operation method of claim 2 , wherein the calculating of the number of extended free blocks comprises:

calculating a number of effective valid blocks based on the total valid page count and a total number of memory blocks; and

calculating the number of extended free blocks based on the number of effective valid blocks and the total number of memory blocks.

4. The operation method of claim 2 , wherein the deciding of the block statuses of the respective memory blocks based on the valid page counts comprises:

deciding a memory block having a valid page count of ‘0’ as a substantive free block; and

deciding a memory block having a non-zero valid page count as a dirty block.

5. The operation method of claim 1 , wherein the performing of the garbage collection operation comprises:

writing data stored in valid pages of a dirty block to a substantive free block; and

erasing the dirty block.

6. A controller which controls a memory device including a plurality of memory blocks, the controller comprising:

a memory suitable for storing valid page counts of respective memory blocks; and

a processor suitable for:

deciding a number of pseudo free blocks having a valid page count greater than ‘0’ and less than a predetermined threshold;

deciding a number of substantive free blocks having a valid page count ‘0’;

calculating a number of extended free blocks in the memory device based on the number of pseudo free blocks and the number of substantive free blocks when the number of substantive free blocks in the memory device is less than a first threshold value;

performing a garbage collection operation when the number of extended free blocks is less than a second threshold value; and

performing the garbage collection operation when the number of substantive free blocks is less than a third threshold value which is smaller than the first threshold value.

7. A controller which controls a memory device including a plurality of memory blocks, the controller comprising:

a memory suitable for storing valid page counts of respective memory blocks; and

a processor suitable for:

calculating a total valid page count by summing up valid page counts of the respective memory blocks when a number of substantive free blocks in the memory device is less than a first threshold value;

calculating a number of extended free blocks based on the total valid page count;

performing a garbage collection operation when the number of extended free blocks is less than a second threshold value; and

performing, when the number of extended free blocks is equal to or more than a threshold value, the garbage collection operation in the case that the number of substantive free blocks is smaller than a minimum number of substantive free blocks which needs to be maintained to perform the garbage collection operation.

8. The controller of claim 7 , wherein the processor calculates the number of extended free blocks by:

calculating a number of effective valid blocks based on the total valid page count and a total number of memory blocks; and

calculating the number of extended free blocks based on the number of effective valid blocks and the total number of memory blocks.

9. The controller of claim 7 , wherein the processor is further suitable for deciding block statuses of the respective memory blocks by deciding a memory block having a valid page count of ‘0’ as a substantive free block and by deciding a memory block having a non-zero valid page count as a dirty block.

10. The controller of claim 6 , wherein the processor performs the garbage collection operation by writing data stored in valid pages of a dirty block to a substantive free block, and erasing the dirty block.

11. An operating method of a controller for controlling a memory device including plural memory blocks, the operating method comprising:

updating a first number of substantive free blocks and a second number of pseudo free blocks, the pseudo free block having more than ‘0’ and less than a predetermined number of valid pages, and the substantive free block having no valid page;

determining whether the first number is a first threshold or less, and sum of the first and second numbers is a second threshold or less;

controlling, when the first number is the first threshold or less and sum of the first and second numbers is the second threshold or less, the memory device to perform a garbage collection operation to the memory blocks; and

controlling, when the first number is less than a third threshold value which is smaller than the first threshold, the memory device to perform the garbage collection operation to the memory blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2019
From: UM, GI-PYO
To: SK HYNIX INC.
Reel/Frame 050976/0778 →
Priority Claims (1)
KR 10-2018-0155011 · Dec 5, 2018 · national
Continuity (1)
Related Publication 20200183851A1 · Jun 11, 2020