Inexpensive deletion in a data storage system
First Claim
1. A computer-implemented method for storing data, comprising:
- under the control of one or more computer systems configured with executable instructions,receiving a request, from a customer entity connected to a storage system, to store a data object, the request including a data deletion indication, specified by the customer entity when the request is made to store the data object, that indicates when to make the data object inaccessible and a particular deletion method specified by the customer entity when the request is made to store the data object that indicates how to delete the data object;
in response to the request,obtaining, based at least in part on an encoding algorithm and the data object, a plurality of encoded data shards; and
for each encoded data shard of at least some of the plurality of encoded data shards,selecting, from a plurality of storage devices in the storage system, a storage device based at least in part on a device-specific deletion indication associated with the storage device and on the data deletion indication, the device-specific deletion indication that indicates when to make inaccessible at least a portion of data stored in the storage device;
updating the device-specific deletion indication associated with the storage device based at least in part on the data deletion indication of the request;
storing the encoded data shard in the selected storage device as part of the portion of data stored in the storage device; and
at a time corresponding to the device-specific deletion indication of the selected storage device, making inaccessible the portion of data stored in the selected storage device based at least in part on the data deletion indication.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided herein for storing data to enable inexpensive and/or guaranteed deletion of data. In various embodiments, a customer specifies a data deletion indication associated with a data object to be stored, specifying when and/or how to delete the data object. Such a data deletion indication may be based, for example, on a regulatory compliance requirement. Based at least in part on the data deletion indication, the storage system may select, from a plurality of storage devices, a storage device to store the data object. Data objects with similar data deletion indications may be stored in the same storage device. In some embodiments, a data object stored in a storage device using the methods described herein may be deleted as part of the deletion of all or a portion of the storage device near a time specified by the data deletion indication of the data object.
64 Citations
25 Claims
-
1. A computer-implemented method for storing data, comprising:
under the control of one or more computer systems configured with executable instructions, receiving a request, from a customer entity connected to a storage system, to store a data object, the request including a data deletion indication, specified by the customer entity when the request is made to store the data object, that indicates when to make the data object inaccessible and a particular deletion method specified by the customer entity when the request is made to store the data object that indicates how to delete the data object; in response to the request, obtaining, based at least in part on an encoding algorithm and the data object, a plurality of encoded data shards; and for each encoded data shard of at least some of the plurality of encoded data shards, selecting, from a plurality of storage devices in the storage system, a storage device based at least in part on a device-specific deletion indication associated with the storage device and on the data deletion indication, the device-specific deletion indication that indicates when to make inaccessible at least a portion of data stored in the storage device; updating the device-specific deletion indication associated with the storage device based at least in part on the data deletion indication of the request; storing the encoded data shard in the selected storage device as part of the portion of data stored in the storage device; and at a time corresponding to the device-specific deletion indication of the selected storage device, making inaccessible the portion of data stored in the selected storage device based at least in part on the data deletion indication. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A computer-implemented method for storing information, comprising:
under the control of one or more computer systems configured with executable instructions, receiving a request, from a customer entity connected to a storage system, to store information, the request including an information deletion indication, specified by the customer entity when the request is made to store the information, that indicates when to make a portion of the information inaccessible and a particular deletion method specified by the customer entity when the request is made to store the information that specifies how to delete the portion of the information; selecting, from a plurality of storage devices in the storage system, a storage device based at least in part on the information deletion indication and a device-specific deletion indication associated with the storage device, the device-specific deletion indication indicating when to make inaccessible the information stored on the storage device; updating the device-specific deletion indication associated with the storage device based at least in part on the information deletion indication of the request; and causing storage of at least the portion of the information in the selected storage device. - View Dependent Claims (9, 10, 11, 12, 13)
-
14. A non-transitory computer-readable storage medium having stored thereon instructions for causing at least one computer system to store data, the instructions comprising:
instructions that cause said at least one computer system to, as a result of a received request, from a customer entity connected to a storage system, to store a data object, the received request including a data deletion indication, specified by the customer entity when the request is made to store the data object, indicating when to make the data object inaccessible and a particular deletion method specified by the customer entity when the request is made to store the data object that specifies how to delete the data object, the data object stored by at least; cause said at least one computer system to select, from a plurality of storage devices of the storage system, a storage device based at least in part on the data deletion indication and a device-specific deletion indication associated with the storage device, the device-specific deletion indication indicating when to make inaccessible the information stored on the storage device; update the device-specific deletion indication associated with the storage device based at least in part on the data deletion indication of the received request; and cause said at least one computer system to cause storage of the data object in the selected storage device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
21. A system for storing data, comprising:
-
a communication device operable to receive requests, from a customer entity connected to a storage system, to store data objects, the received requests including data deletion indications, specified by the customer entity when the requests are made to store data objects, indicating when to make the data objects inaccessible and particular deletion methods specified by the customer entity when the requests are made to store the data objects that specify how to delete the data objects; a plurality of storage devices in the storage system; and at least one processor operable to, in response to a received request to store a data object that is associated with a corresponding data deletion indication; select a storage device from the plurality of storage devices based at least in part on the data deletion indication and a device-specific deletion indication associated with the storage device, the device-specific deletion indication indicating when to make inaccessible the data objects on the storage device; update the device-specific deletion indication associated with the storage device based at least in part on the data deletion indication; and store the data object in the selected storage device. - View Dependent Claims (22, 23, 24, 25)
-
Specification