Programmable checksum calculations on data storage devices
First Claim
Patent Images
1. A computer-implemented method for checking data integrity, comprising:
- under the control of one or more computer systems configured with executable instructions,in response to receiving a request to perform a specified type of integrity operations, selecting according to capability to perform the specified type of integrity operations, at least one data storage device from a plurality of data storage devices that includes one or more data storage device that is not capable of performing the specified type of integrity operations and one or more data storage device that is capable of performing the specified type of integrity operations, the selected data storage device comprising at least;
data storage media, further comprising a plurality of physical data locations capable of storing data and each corresponding to one or more logical data addresses that are accessible externally to the data storage device; and
a controller that is configured to perform, via access to the physical data locations, the specified type of integrity operations on data stored within the physical data locations;
configuring the controller to perform the specified type of integrity operations on the data via the logical data addresses, rather than via the access to the physical data locations, by at least specifying;
executable instructions that, when implemented by the controller, perform the specified type of integrity operations via the logical data addresses; and
one or more subsets of the logical data addresses upon which the specified type of integrity operations are to be performed; and
causing the controller to perform the specified type of integrity operations on the specified subsets of logical data addresses.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for performing data-related operations using data storage devices are described herein. Data storage devices are configured and/or enabled to perform data operations against one or more logical data addresses thereon. The data storage device receives a request including at least executable instructions defining the data operations to be performed and a range of logical data addresses upon which to execute the data operations. Upon request, either the same request as the one defining the data operations or in a separate request, the defined data operations are executed against the specified logical data addresses.
176 Citations
30 Claims
-
1. A computer-implemented method for checking data integrity, comprising:
under the control of one or more computer systems configured with executable instructions, in response to receiving a request to perform a specified type of integrity operations, selecting according to capability to perform the specified type of integrity operations, at least one data storage device from a plurality of data storage devices that includes one or more data storage device that is not capable of performing the specified type of integrity operations and one or more data storage device that is capable of performing the specified type of integrity operations, the selected data storage device comprising at least; data storage media, further comprising a plurality of physical data locations capable of storing data and each corresponding to one or more logical data addresses that are accessible externally to the data storage device; and a controller that is configured to perform, via access to the physical data locations, the specified type of integrity operations on data stored within the physical data locations; configuring the controller to perform the specified type of integrity operations on the data via the logical data addresses, rather than via the access to the physical data locations, by at least specifying; executable instructions that, when implemented by the controller, perform the specified type of integrity operations via the logical data addresses; and one or more subsets of the logical data addresses upon which the specified type of integrity operations are to be performed; and causing the controller to perform the specified type of integrity operations on the specified subsets of logical data addresses. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer-implemented method for checking data integrity, comprising:
under the control of one or more computer systems configured with executable instructions, selecting according to capability to perform a specified type of data operations, a data storage device from a plurality of data storage devices that includes one or more data storage device that is not capable of performing the specified type of data operations and one or more data storage device that is capable of performing the specified type of data operations; configuring the data storage device to perform the specified type of data operations against logical data addresses of the data storage device, the logical data addresses each comprising a subset of physical data locations of the data storage device, wherein the data storage device is configured to perform the specified type of data operations via the physical data locations; specifying, to the data storage device, at least; information relating to one or more data operations to be performed via the logical data addresses against data stored thereon; and at least one range of one or more of the logical data addresses; and causing the data storage device to perform the data operations upon the range of logical data addresses. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
15. A data storage system, comprising:
-
one or more processors configured to perform data operation requests via physical data locations of data storage media, the data storage media including a first one or more data storage device that is not capable of performing a specified type of integrity operations and a second one or more data storage device that is capable of performing the specified type of integrity operations, the physical data locations capable of storing data, subsets of the physical data locations being abstracted into externally available logical data addresses; and memory, including instructions executable by the one or more processors to cause the data storage system to at least; in response to receiving a data operation request that relates to data stored at one or more of the logical data addresses, the data operation request specifying at least; information relating to integrity operations to perform upon data located at the logical data addresses; and information specifying a range of the logical data addresses upon which the integrity operations are to be executed, and execute the code against the specified range via respective logical data addresses instead of via respective physical data locations, integrity operations of the specified type on data stored in the first one or more data storage device performed by the first one or more data storage device, and integrity operations of the specified type on data stored in the second one or more data storage device performed by one or more processors upstream of the second one or more data storage device. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. 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:
-
configure data storage devices that execute data operations upon data stored at a page level of the data storage devices via physical data locations associated with the data to be capable of executing arbitrary data transformations upon the data via data pages associated with the data; and in response to receiving data transformation requests, at least; provide, to the data storage devices, information relating to data transformation algorithms; provide, to the data storage devices, ranges of data pages to which the data transformation requests respectively pertain; and cause data storage devices that are capable of performing the data transformation operations to implement the data transformation algorithms upon the provided data page ranges rather than via the physical data locations and cause data storage devices that are not capable of performing the data transformation operations to transfer data to one or more upstream processor that is capable of performing the data transformation operation. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
Specification