Data write caching for sequentially written media
First Claim
Patent Images
1. A computer-implemented method for storing data, comprising:
- under the control of one or more computer systems configured with executable instructions,selecting a data storage device that is at least;
comprised of data storage media that stores data sequentially; and
capable of responding to a write pointer query by returning a write pointer that indicates a sequential last write position upon the data storage media at which data was most recently written; and
in response to receiving a plurality of write requests, at least;
caching data associated with the write requests in local memory of the computer system;
sequentially recording at least a subset of the cached data upon the data storage media; and
verifying, without flushing or committing the subset of cached data, that the data was written successfully by at least;
querying the data storage device for the write pointer; and
comparing the sequential last write position upon the data storage media indicated by the write pointer with a predetermined sequential destination upon the data storage media for the data being verified.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for implementing a data queuing and/or caching scheme for optimizing data storage are described herein. Data write requests are received and processed by at least queuing the requests and/or associated data for recording upon one or more data storage devices. The order within the queue, as well as the order in which the queued requests are serviced, may, in some embodiments, be optimized. The stored data are verified by determining the position of a write pointer implemented by the one or more data storage devices relative to the contents and/or position of the queued data requests.
163 Citations
26 Claims
-
1. A computer-implemented method for storing data, comprising:
under the control of one or more computer systems configured with executable instructions, selecting a data storage device that is at least; comprised of data storage media that stores data sequentially; and capable of responding to a write pointer query by returning a write pointer that indicates a sequential last write position upon the data storage media at which data was most recently written; and in response to receiving a plurality of write requests, at least; caching data associated with the write requests in local memory of the computer system; sequentially recording at least a subset of the cached data upon the data storage media; and verifying, without flushing or committing the subset of cached data, that the data was written successfully by at least; querying the data storage device for the write pointer; and comparing the sequential last write position upon the data storage media indicated by the write pointer with a predetermined sequential destination upon the data storage media for the data being verified. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer-implemented method for storing data, comprising:
under the control of one or more computer systems configured with executable instructions, receiving a plurality of data write requests; and processing the plurality of data write requests by at least; queuing the data write requests in local memory of the one or more computer systems; recording, upon one or more data storage devices that store data sequentially, data associated with at least a subset of the queued data write requests; and verifying that the data was written successfully by at least; querying the data storage device upon which the data was written for a write pointer that indicates a final sequentially written location upon the data storage device; and comparing the write pointer to a known sequential destination for the data being verified. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A data storage system, comprising:
-
one or more processors; data storage media that is capable of storing data in a sequential fashion; and memory, including instructions executable by the one or more processors to cause the data storage system to at least; track a terminal write location of the data storage media that reflects a sequentially furthest location to which the data storage media has been written at a given time; at a time after receiving an external request for the terminal write location of the data storage media, respond with the tracked terminal write location of the data storage media without flushing or committing the data to the data storage media. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computing resource provider'"'"'s computer system, cause the computer system to at least:
-
service data storage requests by at least; pipelining the data storage requests by storing them in a local memory of the computer system; and processing, in a specified order, each of the data storage requests by committing data associated with each of the data storage requests to a data storage device to which the data are written by appending the data after a sequentially final location to which the device was previously written; and confirm that a given subset of the data storage requests were serviced by at least; requesting, from the data storage device, a write location bookmark that indicates a current sequential write position on the data storage device; and comparing the current sequential write position of the requested write location bookmark that indicates a current sequential write position on the data storage device with a predetermined intended destination for data associated with the subset of data storage requests on the data storage device. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification