Data storage mapping and management
First Claim
Patent Images
1. A computer-implemented method for accessing data storage devices, comprising:
- under the control of one or more computer systems configured with executable instructions,implementing, using one or more resources of the one or more computer systems, a map authority that non-transitively stores at least one data map, the map authority being independent of a client and at least in part thereby enabling fault tolerance with respect to client availability, the client being a virtual computer system instance implemented at least in part with one or more computing resources of a distributed computing system, the at least one data map including information that associates block addresses of the client to one or more locations within a storage system that store a client-attached data volume for the client;
upon receiving, by the map authority, a change notification from the client, then at least responding to the change notification by providing the client with a receipt affirmation of the request;
when the change notification indicates that the client lacks information in a client data map to locate data within the client-attached data volume of the storage system, then further responding to the change notification by providing, to the client, at least a portion of the data map that enables the client to locate the data within the storage system; and
when the change notification includes information indicating that the client entity is requesting a change to the stored data map in response to a change of data location within the client-attached data volume, then further responding to the change notification by updating the stored data map to reflect at least a subset of the change of data location within the client-attached volume.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage controller is implemented for controlling a storage system. The storage controller may be implemented using a distributed computer system and may include components for servicing client data requests based on the characteristics of the distributed computer system, the client, or the data requests. The storage controller is scalable independently of the storage system it controls. All components of the storage controller, as well as the client, may be virtual or hardware-based instances of a distributed computer system.
-
Citations
32 Claims
-
1. A computer-implemented method for accessing data storage devices, comprising:
under the control of one or more computer systems configured with executable instructions, implementing, using one or more resources of the one or more computer systems, a map authority that non-transitively stores at least one data map, the map authority being independent of a client and at least in part thereby enabling fault tolerance with respect to client availability, the client being a virtual computer system instance implemented at least in part with one or more computing resources of a distributed computing system, the at least one data map including information that associates block addresses of the client to one or more locations within a storage system that store a client-attached data volume for the client; upon receiving, by the map authority, a change notification from the client, then at least responding to the change notification by providing the client with a receipt affirmation of the request; when the change notification indicates that the client lacks information in a client data map to locate data within the client-attached data volume of the storage system, then further responding to the change notification by providing, to the client, at least a portion of the data map that enables the client to locate the data within the storage system; and when the change notification includes information indicating that the client entity is requesting a change to the stored data map in response to a change of data location within the client-attached data volume, then further responding to the change notification by updating the stored data map to reflect at least a subset of the change of data location within the client-attached volume. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer-implemented method for accessing data storage devices, comprising:
under the control of one or more computer systems configured with executable instructions, storing, by a map authority service at least one data map for a client, the map authority service being independent of a client and at least in part thereby enabling fault tolerance with respect to client availability, the client being a virtual computer system instance implemented at least in part with one or more computing resources of a distributed computing system, that is usable to locate block storage for the client within a storage system; causing, by the map authority service and via a network connection, at least a portion of the data map to be sent to the client in response to receiving an indication that at least a portion of the block storage for the client is inaccessible; and upon receiving the indication, then at least responding with an affirmation of the indication. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
21. A computer system for accessing data storage devices, comprising:
-
one or more processors; and memory, including instructions executable by the one or more processors to cause the computer system to at least; store data maps for translating client data requests into data location commands enabling location of data within a storage system, at least a portion of the stored data maps being independent of the client and at least in part thereby enabling fault tolerance with respect to client availability, the client being a virtual computer system instance implemented at least in part with one or more computing resources of a distributed computing system; acknowledge received notifications that relate to the stored data maps; provide copies of the stored data maps to clients of the computer system when the received notifications indicate that the clients are unable to locate the data within the storage system as a result of lacking a copy of the stored data maps; updating the stored data maps when the received notifications indicate that the stored data maps inaccurately locate at least a subset of the data responding with an affirmation of the indication that the clients are unable to locate the data within the storage system. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. 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:
-
in response to information indicating an update to at least one of a location of data upon a storage system or a configuration of the storage system, at least update a data mapping stored non-transitively in accordance with the information, the non-transitively stored data mapping being independent of a client entity and at least in part thereby enabling fault tolerance with respect to client entity availability, upon the one or more computer-readable storage media in accordance with the information, the data mapping being configurable to translate incoming client entity data requests into data location commands that enable location of data within the storage system, the client being a virtual computer system instance implemented at least in part with one or more computing resources of a distributed computing system; in response to information indicating that the client entity of the computer system is unable, as a result of lacking a copy of the non-transitively stored mapping, to locate data upon the storage system, provide the client entity with a copy of the stored mapping; and upon receiving the information, then at least responding with an affirmation of the indication. - View Dependent Claims (28, 29, 30, 31, 32)
-
Specification