Back to results
US 11,537,597 B1Granted
Method and system for streaming data from portable storage devices
Assigneeiodyne, LLC
InventorJeffrey S. Bonwick
Life of this patent
Estimating the term…
Abstract
A method and system for streaming data from portable storage devices. Specifically, the disclosed method and system implement iterative data streaming from a portable storage device for remote storage operations, while requiring zero over-provisioning storage space for buffering incoming write operations to the portable storage device.
Claims20
A method for streaming data, comprising:
- receiving, from a host device at a first time, a delta generation request;
- in response to the delta generation request:
- identifying a first current transaction group identifier (TGID);
- obtaining a prior TGID associated with a last successful delta generation request for a collection of block sets, wherein the collection of block sets has a fixed number of block sets;
- identifying a first collection of subsequent TGIDs to which the collection of block sets is mapped at the first time, wherein at least one subsequent TGID of the first collection of subsequent TGIDs exceeds the prior TGID associated with the last successful delta generation request;
- identifying a first subset of the collection of block sets, wherein each of the first subset of the collection of block sets is mapped to one of the at least one subsequent TGID of the first collection of subsequent TGIDs, wherein the first subset is not greater than the fixed number of block sets;
- transmitting the first subset of the collection of block sets to overwrite corresponding block sets of the collection of block sets to generate a first revised collection of block sets;
- identifying, after the transmission of the first subset of the collection of block sets and at a second time, a second current TGID that exceeds the first current TGID;
- identifying a second collection of subsequent TGIDs to which the collection of block sets is mapped at the second time, wherein at least one subsequent TGID of the second collection of TGIDs exceeds the first current TGID;
- identifying a second subset of the collection of block sets, wherein each of the second subset of the collection of block sets is mapped to one of the subsequent TGIDs of the second collection of subsequent TGIDs;
- and
- transmitting the second subset of the collection of block sets to overwrite corresponding block sets of the collection of block sets to generate a second revised collection of block sets.
9 more elements
A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:
- receive, from a host device at a first time, a delta generation request;
- in response to the delta generation request:
- identify a first current transaction group identifier (TGID);
- obtain a prior TGID associated with a last successful delta generation request for a collection of block sets, wherein the collection of block sets has a fixed number of block sets;
- identify a first collection of subsequent TGIDs to which the collection of block sets is mapped at the first time, wherein at least one subsequent TGID of the first collection of subsequent TGIDs exceeds the prior TGID associated with the last successful delta generation request;
- identify a first subset of the collection of block sets, wherein each of the first subset of the collection of block sets is mapped to one of the at least one subsequent TGID of the first collection of subsequent TGIDs, wherein the first subset is not greater than the fixed number of block sets;
- transmit the first subset of the collection of block sets to overwrite corresponding block sets of the collection of block sets to generate a first revised collection of block sets;
- identify, after the transmission of the first subset of the collection of block sets and at a second time, a second current TGID that exceeds the first current TGID;
- identify a second collection of subsequent TGIDs to which the collection of block sets is mapped at the second time, wherein at least one subsequent TGID of the second collection of TGIDs exceeds the first current TGID;
- identify a second subset of the collection of block sets, wherein each of the second subset of the collection of block sets is mapped to one of the subsequent TGIDs of the second collection of subsequent TGIDs;
- and
- transmit the second subset of the collection of block sets to overwrite corresponding block sets of the collection of block sets to generate a second revised collection of block sets.
9 more elements
A portable storage device, comprising:
- persistent storage;
- and
- a controller operatively connected to the persistent storage, and programmed to:
- receive a delta generation request at a first time;
- in response to the delta generation request:
- identify a first current transaction group identifier (TGID);
- obtain a prior TGID associated with a last successful delta generation request for a collection of block sets, wherein the collection of block sets has a fixed number of block sets;
- identify a first collection of subsequent TGIDs to which the collection of block sets residing in the persistent storage and is mapped at the first time, wherein at least one subsequent TGID of the first collection of subsequent TGIDs exceeds the prior TGID associated with the last successful delta generation request;
- identify a first subset of the collection of block sets, wherein each of the first subset of the collection of block sets is mapped to one of the at least one subsequent TGID of the first collection of subsequent TGIDs, wherein the first subset is not greater than the fixed number of block sets;
- transmit the first subset of the collection of block sets to overwrite corresponding block sets of the collection of block sets to generate a first revised collection of block sets;
- identify, after the transmission of the first subset of the collection of block sets and at a second time, a second current TGID that exceeds the first current TGID;
- identify a second subset of the collection of block sets, wherein each of the second subset of the collection of block sets is mapped to one of the subsequent TGIDs of the second collection of subsequent TGIDs;
- and
- transmit the second subset of the collection of block sets to overwrite corresponding block sets of the collection of block sets to generate a second revised collection of block sets.
11 more elements
Dependencies are inferred from the claim text.