Aggregation of write traffic to a data store

US9448890B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9448890-B2
Application numberUS-201213343985-A
CountryUS
Kind codeB2
Filing dateJan 5, 2012
Priority dateSep 19, 2008
Publication dateSep 20, 2016
Grant dateSep 20, 2016

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 and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.

First claim

Opening claim text (preview).

We claim as our invention: 1. A method performed on a computing device, the method comprising: receiving, by the computing device, a request to write data to an intended destination on a random access storage device; determining, by the computing device based on monitoring storage device offsets of read and write requests comprising the request to write the data, whether or not patterns of the read and write requests are sequential; writing, by the computing device in response to the patterns of the read and write requests being sequential or in response to a write log status indicating invalidation only, the data to at least one intended destination in the random access storage device, where the write log status indicating invalidation only indicates that only invalidation records can be written to the write log; redirecting, by the computing device in response to the patterns of the read and write requests not being sequential and in response to the write log status not indicating invalidation only, the data to the write log; and mapping, by the computing device in response to the redirecting, the redirected data to the at least one intended destination. 2. The method of claim 1 , where the patterns of the read and write requests being determined to not be sequential indicate that the data is suitable for being redirected to the write log. 3. The method of claim 1 , where the patterns of the read and write requests being determined to be sequential indicate that the data is part of a stream. 4. The method of claim 1 , where the data is redirected to the write log further in response to the data being less than a predetermined size. 5. The method of claim 1 , where the data is written to the at least one intended destination in the random access storage device further in response to the data being greater than a predetermined size. 6. The method of claim 1 , where the data is redirected instead of being written to the at least one intended destination. 7. The method of claim 1 , where the random access storage device comprises flash-based storage or a disk. 8. A system comprising: a computing device that includes at least one processor and memory storing instructions; and the instructions that, based on execution by the at least one processor, configure the computing device to: receive a request to write data to an intended destination on a random access storage device; determine, based on monitoring storage device offsets of read and write requests comprising the request to write the data, whether or not patterns of the read and write requests are sequential; write, in response to the patterns of the read and write requests being sequential or in response to a write log status indicating invalidation only, the data to at least one intended destination in the random access storage device, where the write log status indicating invalidation only indicates that only invalidation records can be written to the write log; redirect, in response to the patterns of the read and write requests not being sequential and in response to the write log status not indicating invalidation only, the data to the write log; and map, in response to the redirecting, the redirected data to the at least one intended destination. 9. The system of claim 8 , where the patterns of the read and write requests being determined to not be sequential indicate that the data is suitable for being redirected to the write log. 10. The system of claim 8 , where the patterns of the read and write requests being determined to be sequential indicate that the data is part of a stream. 11. The system of claim 8 , where the data is redirected to the write log further in response to the data being less than a predetermined size. 12. The system of claim 8 , where the data is written to the at least one intended destination in the random access storage device further in response to the data being greater than a predetermined size. 13. The system of claim 8 , where the data is redirected instead of being written to the at least one intended destination. 14. A machine-readable storage medium comprising: memory that comprises instructions that, based on execution by at least one processor of a computing device, configure the computing device to perform actions comprising: receiving a request to write data to an intended destination on a random access storage device; determining, based on monitoring storage device offsets of read and write requests comprising the request to write the data, whether or not patterns of the read and write requests are sequential with respect to the intended destination; writing, in response to the patterns of the read and write requests being sequential or in response to a write log status indicating invalidation only, the data to at least one intended destination in the random access storage device, where the write log status indicating invalidation only indicates that only invalidation records can be written to the write log; redirecting, in response to the patterns of the read and write requests not being sequential and in response to the write log status not indicating invalidation only, the data to the write log, where an invalidation-only status of the write log indicates that only invalidation records can be written to the write log; and mapping, in response to the redirecting, the redirected data to the at least one intended destination. 15. The machine-readable storage medium of claim 14 , where the patterns of the read and write requests being determined to not be sequential indicate that the data is suitable for being redirected to the write log. 16. The machine-readable storage medium of claim 14 , where the patterns of the read and write requests being determined to be sequential indicate that the data is part of a stream. 17. The machine-readable storage medium of claim 14 , where the data is redirected to the write log further in response to that the data being less than a predetermined size. 18. The machine-readable storage medium of claim 14 , where the data is written to the at least one intended destination in the random access storage device further in response to the data being greater than a predetermined size. 19. The machine-readable storage medium of claim 14 , where the data is redirected instead of being written to the at least one intended destination. 20. The machine-readable storage medium of claim 14 , where the random access storage device comprises flash-based storage or a disk.

Assignees

Inventors

Classifications

  • Static RAM · CPC title

  • G06F12/121Primary

    using replacement algorithms · CPC title

  • Flash memory · CPC title

  • Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor · CPC title

  • Battery-backed RAM · 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 US9448890B2 cover?
A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one…
Who is the assignee on this patent?
Cong Shi, Brender Scott, Mehra Karan, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F12/121. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).