Cloud-based destination for block-level data replication processing
US-2024354022-A1 · Oct 24, 2024 · US
US10223208B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10223208-B2 |
| Application number | US-201414230844-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 31, 2014 |
| Priority date | Aug 13, 2013 |
| Publication date | Mar 5, 2019 |
| Grant date | Mar 5, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are disclosed relating to writing data atomically to one or more recording media. In one embodiment, a request is received to perform an atomic write for a set of data. Responsive to the request, the set of data is written across a plurality of storage units including storing metadata at a dedicated location within at least one of the plurality of storage units. The metadata is usable to determine whether the writing completed successfully. In some embodiments, the request is received from an application that has been assigned an address range of the plurality of storage units. In such an embodiment, the address range is accessible to the application for storing data, and the dedicated location resides outside of the address range. In one embodiment, the metadata specifies an address range where the set of data was written and a sequence number.
Opening claim text (preview).
What is claimed is: 1. A method to improve recovery of a system crash using metadata the method comprising: receiving, from an application, a request to perform an atomic write operation for a set of data; responsive to the request, writing the set of data across a plurality of storage units including storing metadata at a dynamic location within at least one of the plurality of storage units; and deny the application access to the dynamic location at which the metadata is written, wherein: the metadata is usable to determine whether the writing completed; the metadata comprises multiple bits that identify the set of data of the atomic write operation; and the application has been assigned an accessible address range of the plurality of storage units. 2. The method of claim 1 , further comprising: assigning at least one sequence number to atomic write operations performed to the plurality of storage units, wherein: the sequence numbers are indicative of an order in which the atomic write operations occurred; and the metadata specifies an address range where the set of data is written and a sequence number corresponding to the writing of the set of data. 3. The method of claim 2 , further comprising: rolling back the atomic write operation, wherein the rolling back includes invalidating data written to the specified address range. 4. The method of claim 1 , wherein: the writing includes storing a respective instance of a sequence number on each of the plurality of storage units to which the set of data is written; the metadata includes another instance of the sequence number; and the method further comprises determining whether the writing completed by verifying that the instances of the sequence number match. 5. The method of claim 1 , further comprising: reading the metadata from each of the plurality of storage units; and determining, based on reading the metadata, that the atomic write operation failed. 6. The method of claim 1 , further comprising: indicating, to the application, that the writing failed to complete successfully, wherein the indicating includes identifying one or more logical block addresses for which the set of data was not written successfully; and receiving, from the application, a request to rollback the atomic write operation. 7. The method of claim 1 , wherein the stored metadata includes metadata provided by the application. 8. The method of claim 1 , wherein storing the metadata includes: storing a first instance of the metadata at a dedicated location within a first of the plurality of storage devices; and storing a second instance of the metadata at a dedicated location within a second of the plurality of storage devices, wherein the first and second instances are redundant. 9. An apparatus to improve recovery of a system crash using metadata, the apparatus comprising: a vector storage module configured to perform a group of storage operations for a set of data on a plurality of storage devices, including storing the metadata independent of the set of data, wherein: the metadata indicates whether the group of storage operations was performed successfully: the metadata comprises multiple bits that identify the set of data; the vector storage module is configured to store the metadata within a dynamic storage block in at least one of the plurality of storage devices; and the vector storage module is configured to deny an application associated with the set of data access to the dynamic storage block; and a rollback module configured to rollback, in response to receiving a request, the group of storage operations based on the stored metadata; wherein the vector storage module and the rollback module comprise one or more of circuitry and instructions stored on a non-transitory computer readable medium, and the instructions stored on the non-transitory computer readable medium are executable by one or more processors. 10. The apparatus of claim 9 , wherein: the request is a request to perform a partial rollback; and the rollback module is configured to rollback a subset of the group of storage operations but not all of the group of storage operations in response to the request. 11. The apparatus of claim 9 , wherein the rollback module is configured to rollback the group of storage operations by issuing one or more TRIM commands to the plurality of storage devices. 12. The apparatus of claim 9 , wherein: the vector storage module is configured to perform a storage operation for a portion of the set of data that includes encapsulating the portion within a packet having a packet header; the packet header includes one or more bits usable to determine whether the storage operation was performed successfully; and the one or more bits are distinct from the stored metadata. 13. An apparatus to improve recovery of a system crash using metadata, the apparatus comprising: a controller configured to: attempt an atomic write for a set of data to an address range associated with a group of storage devices; store metadata in a storage block having a dynamic address external to the address range, wherein: the address range is accessible to an application associated with the data; the metadata is indicative of writing the set of data; and the metadata comprises multiple bits that identify the set of data of the atomic write; deny the application access to the dynamic address external to the address range; write a respective portion of the set of data to each storage device in the group of storage devices along with a respective instance of a sequence number indicative of an ordering in which the atomic write was attempted; and determine whether the atomic write completed successfully by comparing the instances of the sequence number with an instance of the sequence number in the metadata; wherein the controller comprises one or more of circuitry and instructions stored on a non-transitory computer readable medium, and the instructions stored on the non-transitory computer readable medium are executable by one or more processors. 14. The apparatus of claim 13 , wherein: the controller is configured to maintain a respective storage block for each of a plurality of applications; and each storage block includes metadata corresponding to a most recent atomic write for that application. 15. The apparatus of claim 13 , wherein: the controller is configured to maintain a plurality of storage blocks for an application; and the plurality of storage blocks includes metadata corresponding to a plurality of most recent atomic writes for the application. 16. The apparatus of claim 13 , wherein: the address range is a logical block address range of a sparse address space; and the external address is a logical block address that does not abut the logical block address range. 17. An apparatus to improve recovery of a system crash using metadata, the apparatus comprising: a first means for storing data using a log-structure, wherein the first means includes a plurality of storage blocks; a second means for writing data atomically to a subset of the plurality of storage blocks and writing the metadata to a dynamic storage block that is not within the subset, wherein: the metadata is usable to determine whether the atomical writing of the data completed; the metadata is usable to rollback the atomical writing of the data; and the metadata comprises multiple bits that identify that data atomically written; and a third means for denying a application that requests data to be written atomically a
by selection of backup contents · CPC title
Controller construction arrangements · CPC title
in transactions (updating of structured data in databases G06F16/23) · CPC title
in relation to response time · CPC title
implemented using Network-attached Storage [NAS] architecture (distributed or networked storage systems G06F3/067; protocols for distributed storage of data in a network H04L67/1097) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.