Virtual storage status coalescing
AssigneeStorage Technology Corporation
InventorNorman Binger
Life of this patent
Estimating the term…
Abstract
Error messages generated when accessing more then one physical storage device are handled by coalescing the status from each accessed physical storage device. A controller receives a virtual storage request from a computing device specifying a virtual data access. The virtual data access includes a plurality of blocks, each block associated with one of at least two target physical storage devices. An access sequence associating one target storage device with each block in the received virtual storage access request is determined. At least one physical access request is sent to each target storage device. At least one error message is received from a target storage device, each error message having an error type. An error response is determined based on the error message type and on the access sequence.
Claims32
A virtual storage system comprising:
- a computing device accessing virtual storage;
- a plurality of physical storage devices;
- and
- a controller in communication with the computing device and the plurality of physical storage, the controller operative to
- (a) receive a virtual storage access request from the computing device specifying a virtual data access, the virtual data access comprising a plurality of blocks, each of the plurality of blocks associated with one of at least two target physical storage devices, the target physical storage devices comprising at least a subset of the plurality of physical storage devices;
- (b) determine an access sequence associating one target storage device with each block in the received virtual storage access request;
- (c) send at least one physical access request to each target storage device;
- (d) receive at least one error message from at least one target storage device, each error message having an error type;
- and
- (e) determine an error response based on the error message type and on the access sequence.
A method of servicing a virtual storage request placed by a computing device, the virtual storage request specifying a plurality of blocks, the blocks distributed between at least two physical target storage devices, the method comprising:
- determining an access sequence associating one target storage device with each block in the virtual storage request;
- sending at least one physical access request to each target storage device;
- receiving at least one error message, each error message sent from one target storage device, each error message having one of a plurality of error types;
- and
- determining an error response based on the error type for at least one error message and on the access sequence.
A method of servicing a virtual storage request placed to a virtual storage device, the virtual storage request comprising a logical sequence of a plurality of blocks stored on a plurality of physical storage devices, the physical storage devices comprising the virtual storage device, the method comprising:
- placing at least one physical storage request to each of the plurality of physical storage devices, each physical storage request requesting access to at least one of the plurality of blocks stored on the physical storage device targeted by the physical storage request;
- receiving a response from each targeted physical storage device corresponding to each physical storage request, each response comprising a successful response or an error response, the error response indicating an error type;
- for each error response, determining if the error type is an access error, the access error indicating the targeted physical storage device could not access a problematic block, the problematic block requested in the corresponding physical storage request;
- and
- if the error type is an access error, canceling all active physical storage requests later in the logical sequence then the problematic block.
A virtual storage system comprising:
- a plurality of physical storage devices, each physical storage device storing information as a plurality of blocks, each physical storage device responding to a failed physical access request with an error message having one of a plurality of error types;
- and
- a controller responding to a virtual storage request for a sequence of blocks stored on at least two of the physical storage devices, the controller operative to
- (a) determine an access sequence associating one physical storage device with each block in the virtual storage request,
- (b) send at least one physical access request to each physical storage device listed in the access sequence,
- (c) receive at least one error message from at least one of the physical storage devices in the access sequence, and
- (d) determine an error response based on the error type for at least one error message and on the access sequence.
A virtual storage controller for servicing a virtual storage request placed to a virtual storage device, the virtual storage request comprising a logical sequence of a plurality of blocks stored on a plurality of physical storage devices, the virtual storage controller cancelling any requests to access blocks later in the logical sequence then a problematic block the access of which generated an access error, the virtual storage controller cancelling all requests to access blocks after receiving a communication error from any physical storage device.
Dependencies are inferred from the claim text.