IP Library Granted Patent US 11,216,363
Granted Patent B2
US 11,216,363 · App. 16/706,214 · Granted Jan 4, 2022

Controller to control semiconductor memory device to perform garbage collection operation and method of operating the same

Inventor: Eu Joon Byun (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F12/0246G06F2212/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,216,363
App. No.
16/706,214
Granted
Jan 4, 2022
Kind
B2
Abstract

A method of operating a controller configured to control a semiconductor memory device including a plurality of memory blocks may include selecting victim blocks that are targets for garbage collection among the plurality of memory blocks; determining whether data stored in valid pages included in each of the victim blocks includes sequential data; and performing a garbage collection operation on the victim blocks based on whether the data stored in the valid pages included in the each of victim blocks include sequential data.

Claims (40)

1. A controller configured to control an operation of a semiconductor memory device including a plurality of memory blocks, the controller comprising:

a victim block determiner configured to select a victim block having invalid pages a number of which is greater than a predetermined first reference value among the plurality of memory blocks;

a sequential data determiner configured to determine whether data stored in valid pages included in the victim block includes sequential data based on a result of comparing a predetermined second reference value and a difference between a maximum address value and a minimum address value of logical block addresses corresponding to the valid pages included in the victim block;

an associated data determiner configured to determine, when the data stored in the valid pages included in the victim block is determined as including the sequential data, associated data for forming the sequential data together with the data stored in the valid pages included in the victim block, the associated data being stored in a memory block different from the victim block among the plurality of memory blocks; and

a garbage collection performer configured to control the semiconductor memory device to perform a garbage collection operation for copying the data stored in the valid pages of the victim block and the associated data to a target block.

2. The controller according to claim 1 , wherein, when the difference between the maximum address value and the minimum address value is less than the predetermined second reference value, the sequential data determiner determines that the data stored in the valid pages included in the victim block includes the sequential data.

3. The controller according to claim 1 , wherein the associated data determiner further searches memory blocks other than the victim block among the plurality of memory blocks for data for forming the sequential data along with the data stored in the valid pages with reference to logical block addresses of the data stored in the valid pages to determine that the searched data is the associated data.

4. The controller according to claim 1 , wherein the garbage collection performer generates commands for copying the data stored in the valid pages of the victim block and the associated data to the target block for the garbage collection, and transmits the commands to the semiconductor memory device.

5. The controller according to claim 1 ,

further comprising a free block monitor configured to monitor a number of free blocks included in the semiconductor memory device,

wherein the victim block determiner determines to perform the garbage collection operation on the semiconductor memory device based on the number of free blocks.

6. The controller according to claim 1 ,

further comprising a map table storage configured to store a map table for indicating a mapping relationship between logical addresses and physical addresses of data,

wherein the map table storage transmits physical-to-logical address information for the victim block to the sequential data determiner, and transmits logical-to-physical address information for searching for the associated data to the associated data determiner.

7. A method of operating a controller configured to control a semiconductor memory device including a plurality of memory blocks, the method comprising:

selecting victim blocks having invalid pages a number of which is greater than a predetermined first reference value among the plurality of memory blocks;

determining whether data stored in valid pages included in each of the victim blocks includes sequential data based on a result of comparing a predetermined second reference value and a difference between a maximum address value and a minimum address value of logical block addresses corresponding to the valid pages included in the victim block;

determining, when the data stored in the valid pages included in each of the victim blocks includes the sequential data, associated data, wherein the associated data forms the sequential data together with the data stored in the valid pages included in the selected victim blocks and is stored in a memory block different from the selected victim blocks among the plurality of memory blocks; and

performing a garbage collection operation for copying the data stored in the valid pages of the victim blocks and the associated data to a target block.

8. The method according to claim 7 , wherein the selecting of the victim blocks comprises:

counting the number of invalid pages included in a selected memory block among the plurality of memory blocks;

determining whether the number of invalid pages is greater than the predetermined first reference value; and

determining the selected memory block to be a victim block when the number of invalid pages is greater than the predetermined first reference value.

9. The method according to claim 8 , wherein the determining of whether the data stored in the valid pages included in each of the victim blocks includes the sequential data comprises:

determining the maximum address value and the minimum address value;

determining whether the difference between the maximum address value and the minimum address value is less than the predetermined second reference value; and

determining, when the difference between the maximum address value and the minimum address value is less than the predetermined second reference value, that the data stored in the valid pages included in the selected victim block includes the sequential data.

10. The method according to claim 9 , wherein the performing of the garbage collection operation comprises:

determining the associated data with reference to a map table when the data of the selected victim block includes the sequential data; and

copying the data stored in the victim block and the associated data to the target block for garbage collection.

11. The method according to claim 10 , further comprising, after the copying of the data stored in the victim block and the associated data to the target block for the garbage collection, releasing the victim block as a free block,

and invalidating the associated data stored in the memory block different from the selected victim block.

12. The method according to claim 8 , wherein the determining of whether the data stored in the valid pages included in each of the victim blocks includes the sequential data comprises:

counting a number of valid pages included in a selected victim block;

determining whether the number of valid pages is greater than the predetermined second reference value; and

determining the maximum address value and the minimum address value of the logical block addresses corresponding to the valid pages included in the selected victim block when the number of valid pages is greater than the predetermined second reference value;

determining whether the difference between the maximum address value and the minimum address value is less than a predetermined third reference value; and

determining, when the difference between the maximum address value and the minimum address value is less than the predetermined third reference value, that the data stored in the valid pages included in the selected victim block includes the sequential data.

13. The method according to claim 7 , further comprising determining to perform garbage collection for the semiconductor memory device.

14. The method according to claim 13 , wherein the determining to perform the garbage collection for the semiconductor memory device comprises determining to perform the garbage collection when a number of free blocks of the plurality of memory blocks is less than a predetermined critical value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: SK HYNIX INC.
To: MIMIRIP LLC
Reel/Frame 067335/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2019
From: BYUN, EU JOON
To: SK HYNIX INC.
Reel/Frame 051206/0471 →
Priority Claims (1)
KR 10-2019-0095702 · Aug 6, 2019 · national
Continuity (1)
Related Publication 20210042221A1 · Feb 11, 2021