IP Library Granted Patent US 10,942,848
Granted Patent B2
US 10,942,848 · App. 16/550,364 · Granted Mar 9, 2021

Apparatus and method for checking valid data in memory system

Inventor: Jong-Min Lee (Seoul, KR)
Assignee: SK hynix Inc.
G06F12/0246G06F12/0253G06F12/1009G06F2212/7209
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 10,942,848
App. No.
16/550,364
Granted
Mar 9, 2021
Kind
B2
Abstract

A memory system includes a memory device including plural memory blocks storing plural pieces of data classified by a first attribute and a second attribute different from the first attribute, and a controller configured to determine whether each data stored in each page in a first part of a target memory block for garbage collection in the memory device has either the first attribute or the second attribute, to determine that all data stored in a second part of the memory block has one of the first attribute and the second attribute, based on a first attribute page count of the memory block and the number of pages storing data of the first attribute in the first part of the memory block, and to migrate data having one of the first attribute and the second attribute to another memory block.

Claims (30)

1. A memory system, comprising:

a memory device including plural memory blocks storing plural pieces of data classified by a first attribute and a second attribute different from the first attribute; and

a controller configured to determine whether each data stored in each page in a first part of a target memory block for garbage collection in the memory device has either the first attribute or the second attribute, to determine that all data stored in a second part of the memory block has one of the first attribute and the second attribute, based on a first attribute page count of the memory block and the number of pages storing data of the first attribute in the first part of the memory block, and to migrate data having one of the first attribute and the second attribute to another memory block.

2. The memory system according to claim 1 , wherein the first attribute indicates that a piece of data is valid, and the second attribute indicates that the piece of data is invalid.

3. The memory system according to claim 2 , wherein, when a value of subtracting the number of pages from the first attribute page count becomes zero at a specific page in the memory block, the next page to the last page belong to the second part.

4. The memory system according to claim 1 , wherein the first attribute indicates that a piece of data is invalid, and the second attribute indicates that the piece of data is valid.

5. The memory system according to claim 1 , wherein, when a ratio of a value of subtracting the number of pages from the first-attribute page count to the number of remaining pages in the memory block is less than a preset threshold, the next page to the last page belong to the second part.

6. The memory system according to claim 5 , wherein the preset threshold is 1%.

7. The memory system according to claim 1 , wherein the memory block is split into the first part and the second part, the first part includes the first page of the memory block, and the second part includes the last page of the memory block.

8. The memory system according to claim 1 , wherein the first attribute indicates that a piece of data is invalid when a valid page count of the memory block is more than a half of a total page number of the memory block.

9. The memory system according to claim 1 , wherein the first attribute indicates that a piece of data is valid when a valid page count of the memory block is less than a half of a total page number of the memory block.

10. The memory system according to claim 9 , wherein the conoller is configured to check whether two different types of addresses regarding each data stored at a page in the first part are associated with each other to determine that each data has either the first attribute or the second attribute.

11. A method for operating a memory system, comprising:

checking whether two different types of addresses regarding each data stored at a page in a first part of a memory block in a memory device are associated with each other to determine whether a first or a second attribute data is stored in each page;

determining that all data stored in a second part of the memory block has one of the first attribute and the second attribute, based on a first attribute page count of the memory block and the number of pages storing data of the first attribute in the first part of the memory block; and

migrating data having one of the first attribute and the second attribute to another memory block.

12. The method according to claim 11 , wherein the first attribute indicates that a piece of data is valid, and the second attribute indicates that the piece of data is invalid.

13. The method according to claim 11 , wherein the first attribute indicates that a piece of data is invalid, and the second attribute indicates that the piece of data is valid.

14. The method according to claim 11 , further comprising:

including the next page to the last page in the second part, when a value of subtracting the number of pages from the first attribute page count becomes zero at a specific page in the memory block.

15. The method according to claim 11 , further comprising:

including the next page to the last page in the second part, when a ratio of a value of subtracting the number of pages from the first attribute page count to the number of remaining pages in the memory block is less than a preset threshold.

16. The method according to claim 15 , wherein the preset threshold is 1%.

17. The method according to claim 11 , wherein the memory block is split into the first part and the second part, the first part includes the first page of the memory block, and the second part includes the last page of the memory block.

18. The method according to claim 11 , wherein the first attribute indicates that a piece of data is invalid when a valid page count of the memory block is more than a half of a total page number of the memory block.

19. The method according to claim 11 , wherein the first attribute indicates that a piece of data is valid when a valid page count of the memory block is less than a half of a total page number of the memory block.

20. An apparatus for controlling a memory system including at least one processor and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured, with the at least one processor, to cause the apparatus to:

check whether two different types of addresses regarding each data stored at a page in a first part of a memory block in a memory device are associated with each other to determine which of a first attribute data or a second attribute data is stored in each page;

determine that all data stored in a second part of the memory block has one of the first attribute and the second attribute, based on a first attribute page count of the memory block and the number of pages storing data of the first attribute in the first part of the memory block; and

migrate data having one of the first attribute and the second attribute to another memory block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2019
From: LEE, JONG-MIN
To: SK HYNIX INC.
Reel/Frame 050160/0623 →
Priority Claims (1)
KR 10-2019-0003824 · Jan 11, 2019 · national
Continuity (1)
Related Publication 20200226058A1 · Jul 16, 2020
Cited By (1)
US 12,585,592