Dynamically controlling temporary compromise on data redundancy
First Claim
Patent Images
1. A method comprising:
- receiving a write request from a client of a storage system, the storage system comprising a plurality of storage devices;
determining that a first condition is satisfied, wherein determining that the first condition is satisfied includes;
detecting that a number of unacknowledged writes of data to storage devices of the plurality of storage devices is below a first threshold; and
detecting that a number of ongoing rebuild processes within the storage system is below a second threshold, wherein the second threshold is different from the first threshold; and
in response to determining that the first condition is satisfied, issuing an early acknowledgement to the client for the write request,wherein issuing the early acknowledgement comprises sending an acknowledgement of the write request to the client prior to completing all writes of data associated with the write request to the storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for determining when to allow a temporary compromise on redundancy in a storage system. When servicing write requests, the storage system may utilize data redundancy techniques when writing data to backend storage devices. The operating conditions of the storage system are tracked and early acknowledgements for write requests may be permitted when the storage system is healthy enough. If the number of unacknowledged writes is greater than a programmable threshold, then early acknowledges may be prohibited. Also, if the number of ongoing rebuild processes is greater than a programmable threshold, then early acknowledges may be prohibited.
-
Citations
11 Claims
-
1. A method comprising:
-
receiving a write request from a client of a storage system, the storage system comprising a plurality of storage devices; determining that a first condition is satisfied, wherein determining that the first condition is satisfied includes; detecting that a number of unacknowledged writes of data to storage devices of the plurality of storage devices is below a first threshold; and detecting that a number of ongoing rebuild processes within the storage system is below a second threshold, wherein the second threshold is different from the first threshold; and in response to determining that the first condition is satisfied, issuing an early acknowledgement to the client for the write request, wherein issuing the early acknowledgement comprises sending an acknowledgement of the write request to the client prior to completing all writes of data associated with the write request to the storage system. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a plurality of storage devices; and a storage controller coupled to the plurality of storage devices; wherein the storage controller is configured to; receive a write request from a client of a storage system, the storage system comprising a plurality of storage devices; determine that a first condition is satisfied, wherein determining that the first condition is satisfied includes; detecting that a number of unacknowledged writes of data to storage devices of the plurality of storage devices is below a first threshold; and detecting that a number of ongoing rebuild processes within the storage system is below a second threshold, wherein the second threshold is different from the first threshold; and in response to determining that the first condition is satisfied, issue an early acknowledgement to the client for the write request, wherein issuing the early acknowledgement comprises sending an acknowledgement of the write request to the client prior to completing all writes of data associated with the write request to the storage system. - View Dependent Claims (6, 7, 8)
-
-
9. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to:
-
receive a write request from a client of a storage system, the storage system comprising a plurality of storage devices; determine that a first condition is satisfied, wherein determining that the first condition is satisfied includes; detecting that a number of unacknowledged writes of data to storage devices of the plurality of storage devices is below a first threshold; and detecting that a number of ongoing rebuild processes within the storage system is below a second threshold, wherein the second threshold is different from the first threshold; and in response to determining that the first condition is satisfied, issue an early acknowledgement to the client for the write request, wherein issuing the early acknowledgement comprises sending an acknowledgement of the write request to the client prior to completing all writes of the data associated with the write request to the storage system. - View Dependent Claims (10, 11)
-
Specification