Techniques using a variable size extension area with two phase destaging

US12307115B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12307115-B2
Application numberUS-202318141722-A
CountryUS
Kind codeB2
Filing dateMay 1, 2023
Priority dateMay 1, 2023
Publication dateMay 20, 2025
Grant dateMay 20, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In at least one embodiment, processing can include: receiving metadata updates for MD pages; recording the MD updates for the MD pages in a MD log; and performing a first destaging phase that writes the MD updates from the MD log to a tablet stored on non-volatile storage. The tablet can include a bucket area and an extension area. The bucket area can include buckets each of which is a predetermined bucket size. The first destaging phase can include: writing a portion of the MD updates from the MD log to the bucket area; and writing a second portion of the MD updates from the MD log to the extension area. Each MD update of the second portion can overflow a corresponding one of the buckets which is included in the bucket area and which is associated with one of the MD pages updated by the MD update.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: receiving a plurality of metadata (MD) updates for a plurality of MD pages; recording the plurality of MD updates for the plurality of MD pages in a MD log; and performing a first destaging phase that writes the plurality of MD updates for the plurality of MD pages from the MD log to a first tablet stored on first non-volatile storage, wherein the first tablet includes a first bucket area and a first extension area, wherein the first bucket area includes a first plurality of buckets each a predetermined bucket size, and wherein said first destaging phase further includes: writing a first portion of the plurality of MD updates from the MD log to the first bucket area of the first tablet; and writing a second portion of the plurality of MD updates from the MD log to the first extension area of the first tablet, wherein each MD update of the second portion overflows a corresponding one of the first plurality of buckets associated with one of the plurality of MD pages updated by said each MD update, wherein the first non-volatile storage includes a first plurality of tablets, wherein the first plurality of tablets includes the first tablet, wherein each of the first plurality of tablets includes a fixed size bucket area which has a same first size in each of the first plurality of tablets and which has a same first number of buckets in each of the first plurality of tablets, wherein each bucket of the same first number of buckets in each of the first plurality of tablets is said predetermined bucket size, wherein each of the first plurality of tablets includes an extension area storing MD updates which overflow one or more buckets of the fixed size bucket area of said each tablet; receiving a read request to read a first MD page of the first plurality of MD pages; determining that the first MD page is not stored in a cache; and responsive to determining that the first MD page is not stored in the cache, performing read miss processing including constructing an updated version of the first MD page, wherein said constructing an updated version of the first MD page includes: reading a stored version of the first MD page from a MD page store; and applying MD updates to the stored version of the first MD page and generating the updated version of the first MD page, wherein MD updates applied to the stored version of the first MD page include first MD updates to the first MD page and second MD updates to the first MD page, wherein the first MD updates are included in corresponding buckets and extension areas of the first plurality of tablets, wherein the second MD updates to the first MD page are included in corresponding buckets of an active MD log stored in volatile memory and corresponding buckets of an inactive MD log stored in volatile memory; and returning the updated version of the first MD page in response to the read request. 2. The computer-implemented method of claim 1 , wherein said first destaging phase includes: determining, for a first bucket of the first plurality of buckets of the first tablet, that the first bucket is full and includes MD updates for a corresponding first MD page of the plurality of MD pages; and responsive to determining the first bucket is full, storing one or more of the plurality of MD updates which update the corresponding first MD page in the first extension area of the first tablet. 3. The computer-implemented method of claim 2 , wherein each of the first plurality of buckets of the first tablet includes MD updates for a single corresponding one of the first plurality of MD pages. 4. The computer-implemented method of claim 1 , wherein the first tablet includes the first extension area occupying a first amount of storage, and wherein a second tablet of the first plurality of tablets includes a second extension area occupying a second amount of storage that is different from the first amount of storage. 5. The computer-implemented method of claim 4 , wherein the second amount is zero denoting that the second extension area occupies no storage and indicating there are no MD updates stored in the second extension area and no MD updates which overflow buckets of a second bucket area of the second tablet. 6. The computer-implemented method of claim 1 , further comprising: performing a second destaging phase that destages the first plurality of tablets from the first non-volatile storage to a MD page store stored on second non-volatile storage. 7. The computer-implemented method of claim 6 , wherein a first bucket of each of the first plurality of tablets includes MD updates for a first corresponding MD page, and wherein the second destaging phase includes: aggregating first MD updates for the first corresponding MD page into a first working set of MD updates for the first corresponding MD page, wherein said first working set includes MD updates for the first corresponding MD page from the first bucket of each of the first plurality of tablets, and wherein said first working set includes MD updates for the first corresponding MD page from one or more extension areas of one or more of the first plurality of tablets; reading an existing copy of the first corresponding MD page from the MD page store; generating a first updated MD page by applying the first working set of MD updates to the existing copy of the first corresponding MD page; and storing the first updated MD page in the MD page. 8. The computer-implemented method of claim 7 , wherein a superblock includes tablets information describing the first plurality of tablets, wherein the tablets information includes first information indicating, for each of the first plurality of tablets, any one or more of: a starting position, an offset, and a location in the first non-volatile storage of where said each tablet is stored in the first non-volatile storage. 9. A system comprising: one or more processors; and one or more memories comprising code stored thereon that, when executed, performs a method of comprising: receiving a plurality of metadata (MD) updates for a plurality of MD pages; recording the plurality of MD updates for the plurality of MD pages in a MD log; and performing a first destaging phase that writes the plurality of MD updates for the plurality of MD pages from the MD log to a first tablet stored on first non-volatile storage, wherein the first tablet includes a first bucket area and a first extension area, wherein the first bucket area includes a first plurality of buckets each a predetermined bucket size, and wherein said first destaging phase further includes: writing a first portion of the plurality of MD updates from the MD log to the first bucket area of the first tablet; and writing a second portion of the plurality of MD updates from the MD log to the first extension area of the first tablet, wherein each MD update of the second portion overflows a corresponding one of the first plurality of buckets associated with one of the plurality of MD pages updated by said each MD update, wherein the first non-volatile storage includes a first plurality of tablets, wherein the first plurality of tablets includes the first tablet, wherein each of the first plurality of tablets includes a fixed size bucket area which has a same first size in each of the first plurality of tablets and which has a same first number of buckets in each of the first plurality of tablets, wherein each bucket of the same first number of buckets in each of the first plurality of tablets is said predetermined bucket size, wherein each of the first plurality of tablets includes an extension area storing MD updates which overflow one or more buckets of the fixed size bucket area of said each ta

Assignees

Inventors

Classifications

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Management of blocks · CPC title

  • G06F3/0644Primary

    Management of space entities, e.g. partitions, extents, pools · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12307115B2 cover?
In at least one embodiment, processing can include: receiving metadata updates for MD pages; recording the MD updates for the MD pages in a MD log; and performing a first destaging phase that writes the MD updates from the MD log to a tablet stored on non-volatile storage. The tablet can include a bucket area and an extension area. The bucket area can include buckets each of which is a predeter…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0644. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 20 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).