Object headers facilitating storage of data in a write buffer of a storage system

US10691373B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10691373-B2
Application numberUS-201816038612-A
CountryUS
Kind codeB2
Filing dateJul 18, 2018
Priority dateJul 18, 2018
Publication dateJun 23, 2020
Grant dateJun 23, 2020

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.

An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to receive a request to write a given data object to a write buffer of at least one storage system, to allocate an entry in the write buffer, to generate a header for the given data object comprising a first portion indicating a validation status, to write the header to the allocated entry of the write buffer with the first portion of the header comprising a value indicating invalid status, to write the given data object to the allocated entry of the write buffer, and to update the header of the allocated entry by modifying the value of the first portion of the header to indicate valid status responsive to a successful write of the given data object to the allocated entry of the write buffer.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: at least one processing device comprising a processor coupled to a memory; the processing device being configured: to receive a request to write a given data object to a write buffer of at least one storage system; to allocate an entry in the write buffer for storage of the given object; to generate a header for the given data object, the header comprising a first portion indicating a validation status of the given data object; to write the header for the given data object to the allocated entry of the write buffer with the first portion of the header comprising a value indicating an invalid status for the given data object; to write the given data object to the allocated entry of the write buffer; and to update the header of the allocated entry by modifying the value of the first portion of the header to indicate a valid status for the given data object responsive to a successful write of the given data object to the allocated entry of the write buffer; wherein the write buffer is associated with one or more size constraints for atomicity of writing data objects; wherein a size of the header meets the one or more size constraints such that writing the header for the given data object to the allocated entry of the write buffer and updating the header of the allocated entry of the write buffer comprise atomic write operations; and wherein a size of the given data object violates at least one of the one or more size constraints such that writing the given data object to the allocated entry of the write buffer does not comprise an atomic write operation. 2. The apparatus of claim 1 wherein the processing device is implemented in one of: a host device configured to communicate over a network with said at least one storage system that comprises the write buffer; and said at least one storage system that comprises the write buffer. 3. The apparatus of claim 1 wherein the allocated entry comprises an existing entry in the write buffer with a header having a first portion with a value indicating an invalid status for its associated data object. 4. The apparatus of claim 1 wherein the allocated entry comprises a new entry in the write buffer. 5. The apparatus of claim 1 wherein the header for the given data object further comprises a second portion indicating a unique identifier for the given data object. 6. The apparatus of claim 5 wherein the unique identifier for the given data object is provided by an application that is a source of the write request. 7. The apparatus of claim 5 wherein the unique identifier for the given data object comprises a first portion indicating an object type and a second portion indicating an object identifier. 8. The apparatus of claim 5 wherein the processing device is further configured: to search the write buffer for an existing entry with a header having a second portion with the unique identifier for the given data object; and to update the header of the existing entry by modifying a value of a first portion thereof to indicate an invalid status responsive to the successful write of the given data object to the allocated entry of the write buffer. 9. The apparatus of claim 1 wherein writing the given data object to the allocated entry of the write buffer comprises writing the given data object consecutively after the header in the allocated entry of the write buffer. 10. The apparatus of claim 1 wherein the processing device is configured to recover a journal provided by the write buffer utilizing validation status provided by first portions of headers in entries of the write buffer. 11. The apparatus of claim 10 wherein, when during recovery of the journal provided by the write buffer at least two entries thereof have headers with first portions indicating valid status for a same data object, selecting one of the at least two entries as a valid entry and invalidating remaining ones of the at least two entries by modifying values of the first portions of the headers thereof to indicate invalid status. 12. A method comprising: receiving a request to write a given data object to a write buffer of at least one storage system; allocating an entry in the write buffer for storage of the given object; generating a header for the given data object, the header comprising a first portion indicating a validation status of the given data object; writing the header for the given data object to the allocated entry of the write buffer with the first portion of the header comprising a value indicating an invalid status for the given data object; writing the given data object to the allocated entry of the write buffer; and updating the header of the allocated entry by modifying the value of the first portion of the header to indicate a valid status for the given data object responsive to a successful write of the given data object to the allocated entry of the write buffer; wherein the write buffer is associated with one or more size constraints for atomicity of writing data objects; wherein a size of the header meets the one or more size constraints such that writing the header for the given data object to the allocated entry of the write buffer and updating the header of the allocated entry of the write buffer comprise atomic write operations; wherein a size of the given data object violates at least one of the one or more size constraints such that writing the given data object to the allocated entry of the write buffer does not comprise an atomic write operation; and wherein the method is implemented by at least one processing device comprising a processor coupled to a memory. 13. The method of claim 12 wherein the header for the given data object further comprises a second portion indicating a unique identifier for the given data object, and further comprising: searching the write buffer for an existing entry with a header having a second portion with the unique identifier for the given data object; and updating the header of the existing entry by modifying a value of a first portion thereof to indicate an invalid status responsive to the successful write of the given data object to the allocated entry of the write buffer. 14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device: to receive a request to write a given data object to a write buffer of at least one storage system; to allocate an entry in the write buffer for storage of the given object; to generate a header for the given data object, the header comprising a first portion indicating a validation status of the given data object; to write the header for the given data object to the allocated entry of the write buffer with the first portion of the header comprising a value indicating an invalid status for the given data object; to write the given data object to the allocated entry of the write buffer; and to update the header of the allocated entry by modifying the value of the first portion of the header to indicate a valid status for the given data object responsive to a successful write of the given data object to the allocated entry of the write buffer; wherein the write buffer is associated with one or more size constraints for atomicity of writing data objects; wherein a size of the header meets the one or more size constraints such that writing the header for the given data object to the allocated entry of the write buffer and updating th

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Organizing or formatting or addressing of data · CPC title

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

  • by allocating resources to storage systems · CPC title

  • involving logging of persistent data for recovery · 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 US10691373B2 cover?
An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to receive a request to write a given data object to a write buffer of at least one storage system, to allocate an entry in the write buffer, to generate a header for the given data object comprising a first portion indicating a validation statu…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 23 2020 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).