System and method for parallel flushing with bucketized data

US11681657B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11681657-B2
Application numberUS-201916527665-A
CountryUS
Kind codeB2
Filing dateJul 31, 2019
Priority dateJul 31, 2019
Publication dateJun 20, 2023
Grant dateJun 20, 2023

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.

A method, computer program product, and computer system for organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store. A bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed may be selected. The portion of the log records may be organized into parallel flush jobs. The portion of the log records may be flushed to the backing store in parallel.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method comprising: organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store; selecting a bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed in parallel with one or more buckets of the plurality of buckets, wherein the bucket selected is the bucket with a lowest log sequence number (LSN) from a tree, wherein the log records organized in the selected bucket are processed in a chronological LSN order, and wherein the selected bucket is configured to be flushed in one parallel request; organizing the portion of the log records into parallel flush jobs; and flushing the portion of the log records to the backing store in parallel. 2. The computer-implemented method of claim 1 wherein the portion of the log records include destination logical block address (LBA) of the backing store associated with the range, and wherein the portion of the log records include LSNs. 3. The computer-implemented method of claim 1 wherein selecting the bucket of the plurality of buckets from which the portion of the log records of the plurality of log records are to be flushed includes selecting the bucket with the lowest LSN from the tree. 4. The computer-implemented method of claim 3 wherein flushing the portion of the log records to the backing store in parallel includes invalidating the portion of the log records in memory. 5. The computer-implemented method of claim 4 wherein flushing the portion of the log records to the backing store in parallel further includes removing the portion of the log records from the bucket. 6. The computer-implemented method of claim 5 wherein flushing the portion of the log records to the backing store in parallel further includes removing the portion of the log records from the tree. 7. The computer-implemented method of claim 6 further comprising rebalancing the tree. 8. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising: organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store; selecting a bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed in parallel with one or more buckets of the plurality of buckets, wherein the bucket selected is the bucket with a lowest log sequence number (LSN) from a tree, wherein the log records organized in the selected bucket are processed in a chronological LSN order, and wherein the selected bucket is configured to be flushed in one parallel request; organizing the portion of the log records into parallel flush jobs; and flushing the portion of the log records to the backing store in parallel. 9. The computer program product of claim 8 wherein the portion of the log records include destination logical block address (LBA) of the backing store associated with the range, and wherein the portion of the log records include LSNs. 10. The computer program product of claim 8 wherein selecting the bucket of the plurality of buckets from which the portion of the log records of the plurality of log records are to be flushed includes selecting the bucket with the lowest LSN from the tree. 11. The computer program product of claim 10 wherein flushing the portion of the log records to the backing store in parallel includes invalidating the portion of the log records in memory. 12. The computer program product of claim 11 wherein flushing the portion of the log records to the backing store in parallel further includes removing the portion of the log records from the bucket. 13. The computer program product of claim 12 wherein flushing the portion of the log records to the backing store in parallel further includes removing the portion of the log records from the tree. 14. The computer program product of claim 13 wherein the operations further comprise rebalancing the tree. 15. A computing system including one or more processors and one or more memories configured to perform operations comprising: organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store; selecting a bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed in parallel with one or more buckets of the plurality of buckets, wherein the bucket selected is the bucket with a lowest log sequence number (LSN) from a tree, wherein the log records organized in the selected bucket are processed in a chronological LSN order, and wherein the selected bucket is configured to be flushed in one parallel request; organizing the portion of the log records into parallel flush jobs; and flushing the portion of the log records to the backing store in parallel. 16. The computing system of claim 15 wherein the portion of the log records include destination logical block address (LBA) of the backing store associated with the range, and wherein the portion of the log records include LSNs. 17. The computing system of claim 15 wherein selecting the bucket of the plurality of buckets from which the portion of the log records of the plurality of log records are to be flushed includes selecting the bucket with the lowest LSN from the tree. 18. The computing system of claim 17 wherein flushing the portion of the log records to the backing store in parallel includes invalidating the portion of the log records in memory and removing the portion of the log records from the bucket. 19. The computing system of claim 18 wherein flushing the portion of the log records to the backing store in parallel further includes removing the portion of the log records from the tree. 20. The computing system of claim 19 wherein the operations further comprise rebalancing the tree.

Assignees

Inventors

Classifications

  • Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs · CPC title

  • by selection of backup contents · CPC title

  • involving logging of persistent data for recovery · CPC title

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • for networked environments · 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 US11681657B2 cover?
A method, computer program product, and computer system for organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store. A bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed may be selected. The portion of the log records…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/1734. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 20 2023 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).