Chunked memory efficient storage data transfers
AssigneePure Storage, Inc.
InventorsRoland Dreier, Anatoliy Glagolev, Ronald Karr
Life of this patent
Estimating the term…
Abstract
Chunked data transfers may include: receiving, from an initiator, a read command for first data stored in a storage system; allocating a first buffer of a predefined size; until all of the first data has been sent to the initiator: loading a portion of the first data from the storage system into the first buffer; and sending, to the initiator, the portion of the first data in the first buffer.
Claims17
A method comprising:
- receiving, from an initiator, a read command for first data stored in a storage system;
- in response to receiving the read command, allocating, by the storage system, for sending one or more portions of the first data, at least a first data buffer of a plurality of data buffers that each have an amount of allocated computer memory that is smaller than a size of the first data;
- and
- until all of the first data has been sent to the initiator:
- loading a portion of the first data from the storage system into a first data buffer of the plurality of data buffers;
- while the first data is being sent, loading one or more other portions of the first data from the storage system into one or more other data buffers of the plurality of data buffers;
- and
- sending, to the initiator, the one or more other portions using the one or more other data buffers of the plurality of data buffers.
An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
- receiving, from an initiator, a read command for first data stored in a storage system;
- in response to receiving the read command, allocating, by the storage system, for sending one or more portions of the first data, at least a first data buffer of a plurality of data buffers that each have an amount of allocated computer memory that is smaller than a size of the first data;
- and
- until all of the first data has been sent to the initiator:
- loading a portion of the first data from the storage system into a first data buffer of the plurality of data buffers;
- while the first data is being sent, loading one or more other portions of the first data from the storage system into one or more other data buffers of the plurality of data buffers;
- and
- sending, to the initiator, the one or more other portions using the one or more other data buffers of the plurality of data buffers.
A computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
- receiving, from an initiator, a read command for first data stored in a storage system;
- in response to receiving the read command, allocating, by the storage system, for sending one or more portions of the first data, a first data buffer that has an amount of allocated computer memory that is smaller than a size of the first data;
- and
- until all of the first data has been sent to the initiator:
- loading a portion of the first data from the storage system into a first data buffer of the plurality of data buffers;
- while the first data is being sent, loading one or more other portions of the first data from the storage system into one or more other data buffers of the plurality of data buffers;
- and
- sending, to the initiator, the one or more other portions using the one or more other data buffers of the plurality of data buffers.
Dependencies are inferred from the claim text.