IP Library Granted Patent US 12,380,021
Granted Patent B2
US 12,380,021 · App. 18/207,963 · Granted Aug 5, 2025

Memory system based on flash memory and method for managing meta data thereof

Inventors: Hyun Jin Choi (Suwon-si, KR); Sunghyun Noh (Gyeonggi-Dosuwon-si, KR); Insoon Jo (Suwon-si, KR); Kui-Yon Mun (Suwon-si, KR); Myung-Jin Jung (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0246G06F12/0292G06F12/0882
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,380,021
App. No.
18/207,963
Granted
Aug 5, 2025
Kind
B2
Abstract

A memory system which includes a flash memory including a meta block and a data block, and a memory controller including a meta data managing module managing meta data to be stored in the meta block. The meta block includes a plurality of pages. The meta data managing module compares a number of free pages of the plurality of pages with a preset number of free pages, and selects a write target page of the meta data by using one of a consecution meta write operation or a dirty meta write operation, depending on a result of the comparison.

Claims (45)

1. A memory system comprising:

a flash memory including a meta block and a data block, the meta block including a plurality of pages; and

a memory controller including a meta data managing module configured to manage meta data to be stored in the meta block,

wherein the meta data managing module is configured to

compare a number of free pages from among the plurality of pages with a set free page count to provide a comparison result, and

depending on the comparison result, select a write operation from a consecution meta write operation and a dirty meta write operation, and select a write target page of the meta data from among the free pages by using the selected write operation, wherein the consecution meta write operation is a write operation that uses all meta pages in round-robin manner regardless of changed meta pages, and the dirty meta write operation is a write operation that uses only changed meta pages.

2. The memory system of claim 1 , wherein the number of free pages corresponds to a number of pages from a first page to a second page from among the free pages, the first page being a page at which a meta write is to be performed, and the second page being a page immediately preceding an oldest valid page from among the plurality of pages.

3. The memory system of claim 2 , wherein the set free page count corresponds to a minimum number of free pages at which meta garbage collection is not invoked.

4. The memory system of claim 3 , wherein when the number of the free pages is greater than the set free page count, the meta data managing module selects the write target page of the meta data by using the dirty meta write operation.

5. The memory system of claim 4 , wherein when the number of free pages is less than or equal to the set free page count, the meta data managing module selects the write target page of the meta data by using the consecution meta write operation.

6. The memory system of claim 2 , wherein the set free page count corresponds to a page count obtained by adding a minimum number of free pages at which meta garbage collection is not invoked and a number of additional pages.

7. The memory system of claim 1 , wherein the meta data managing module comprises:

a page selection table module configured to store indication of an order of writing to the free pages of the meta block and that doe not invoke meta garbage collection;

a distance check selector configured to manage the set free page count, to compare the number of free pages and the set free page count to provide the comparison result, and to manage the consecution meta write operation or the dirty meta write operation depending on the comparison result; and

a dirty selector configured to select a meta page targeted for write from among dirty meta pages of the plurality of pages.

8. The memory system of claim 7 , wherein the page selection table module is configured to perform a lookup operation for returning to a page indicated by a write position, a proceed operation for increasing the write position such that a next valid page from the plurality of pages is indicated, and a reorder operation for adjusting the order such that an n-th page is located behind the write position.

9. The memory system of claim 7 , wherein the distance check selector is configured to calculate a number of pages from a page from among the free pages at which a meta write is to be performed to a page from among the free pages immediately preceding an oldest valid page from among the plurality of pages, and determine whether the calculated number of pages reaches the set free page count.

10. The memory system of claim 7 , wherein the dirty selector is configured to select the meta page targeted for the write from among the dirty meta pages depending on a selection algorithm, and update the page selection table module such that the selected meta page is located at a last write order.

11. A meta data managing method of a memory system which is based on a flash memory including a meta block, the meta block including a plurality of pages, the method comprising:

comparing a number of free pages from among the plurality of pages with a set free page count to provide a comparison result; and

depending on the comparison result, selecting a write operation from a consecution meta write operation and a dirty meta write operation, and selecting a write target page of meta data from among the free pages by using the selected write operation, wherein the consecution meta write operation is a write operation that uses all meta pages in round-robin manner regardless of changed meta pages, and the dirty meta write operation is a write operation that uses only changed meta pages,

wherein selecting the write target page comprises

selecting the write target page of the meta data using the dirty meta write operation when the number of free pages is greater than the set free page count, and

selecting the write target page of the meta data using the consecution meta write operation when the number of free pages is less than or equal to the set free page count.

12. The method of claim 11 , wherein the number of free pages corresponds to a number of pages from a first page to a second page from among the free pages, the first page being a page at which a meta write is to be performed, and the second page being a page immediately preceding an oldest valid page of the plurality of pages, and

wherein the set free page count corresponds to a minimum number of free pages at which meta garbage collection is not invoked.

13. The method of claim 12 , wherein the comparing comprises:

calculating the number of pages from the page, at which the meta write is to be performed to the page immediately preceding the oldest valid page; and

determining whether the calculated number of pages reaches the set free page count.

14. The method of claim 12 , further comprising maintaining a page selection table module storing indication of an order of writing to the free pages,

wherein the selecting of the write target page comprises performing a lookup operation for returning to a page indicated by a write position, a proceed operation for increasing the write position such that a next valid page from among the plurality of pages is indicated, and a reorder operation for adjusting the order such that an n-th page is located behind the write position are performed, using the page selection table module.

15. The method of claim 14 , wherein the selecting of the write target page comprises:

selecting the page targeted for the write from among dirty meta pages from among the plurality of pages depending on a selection algorithm; and

updating the page selection table module such the selected meta page is located at a last write order.

16. A memory controller connected with a flash memory including a meta block, the meta block including a plurality of pages, the memory controller comprising:

a page selection table module configured to store indication of an order of writing meta data to free pages from among the plurality of pages and that does not invoke meta garbage collection;

a distance check selector configured to manage a set free page count, to compare a number of free pages and the set free page count to provide a comparison result, and to select a write operation from a consecution meta write operation and a dirty meta write operation to the meta block depending on the comparison result, wherein the consecution meta write operation is a write operation that uses all meta pages in round-robin manner regardless of changed meta pages, and the dirty meta write operation is a write operation that uses only changed meta pages; and

a dirty selector configured to select a meta page targeted for write as a write target page from among dirty meta pages of the plurality of pages,

wherein the distance check selector is configured to

select the write target page of the meta data using the dirty meta write operation when the number of free pages is greater than the set free page count, and

select the write target page of the meta data using the consecution meta write operation when the number of free pages is less than or equal to the set free page count.

17. The memory controller of claim 16 , wherein the page selection table module is configured to perform a lookup operation for returning to a page indicated by a write position, a proceed operation for increasing the write position such that a next valid meta page from among the plurality of pages is indicated, and a reorder operation for adjusting the order such that an n-th page is located behind the write position.

18. The memory controller of claim 16 , wherein the distance check selector is configured to calculate a number of pages from a page from among the free pages at which a meta write is to be performed to a page immediately preceding an oldest valid page from among the plurality of pages, and determine whether the calculated number of pages reaches the set free page count.

19. The memory controller of claim 16 , wherein the dirty selector is configured to select the meta page targeted for the write from among the dirty meta pages depending on a selection algorithm, and update the page selection table module such that the selected meta page is located at a last write order.

20. The memory controller of claim 16 , wherein the set free page count corresponds to a minimum number of free pages at which meta garbage collection is not invoked.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2023
From: CHOI, HYUN JIN; NOH, SUNGHYUN; JO, INSOON; MUN, KUI-YON; JUNG, MYUNG-JIN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063912/0572 →
Priority Claims (1)
KR 10-2022-0142453 · Oct 31, 2022 · national
Continuity (1)
Related Publication 20240143500A1 · May 2, 2024
References Cited (19)
US 8380945B2 · Ye et al. · 2013 [cited by applicant]
US 8381018B2 · Lee et al. · 2013 [cited by applicant]
US 9116795B2 · Kim et al. · 2015 [cited by applicant]
US 9195583B2 · Jung et al. · 2015 [cited by applicant]
US 9329931B2 · Canepa et al. · 2016 [cited by applicant]
US 9645918B2 · Yun et al. · 2017 [cited by applicant]
US 9852061B2 · Lee et al. · 2017 [cited by applicant]
US 10761932B2 · Lingarajappa · 2020 [cited by applicant]
US 11061618B1 · Glimcher et al. · 2021 [cited by applicant]
US 20130042054A1 · Jung et al. · 2013 [cited by applicant]
US 20130046918A1 · Im · 2013 [cited by applicant]
US 20140115239A1 · Kong et al. · 2014 [cited by applicant]
US 20180210825A1 · Gim et al. · 2018 [cited by applicant]
US 20210092468A1 · Szatmary · 2021 [cited by examiner]
US 20230221875A1 · Moon · 2023 [cited by examiner]
KR 1790165B1 · 2017 [cited by applicant]
KR 1993704B1 · 2019 [cited by applicant]
Extended European Search Report in European Appln. No. 23190543.1, mailed on Jan. 26, 2024, 11 pages. [cited by applicant]
Saxena et al., “Design and Prototype of a Solid-State Cache”, ACM Transactions on Storage, Aug. 7, 2014, vol. 10, Issue 3, Article No. 10, pp. 1-34. [cited by applicant]