摘要:
Maintaining an ordering of transmitted data includes associating a sequence number with each element of the transmitted data, where the sequence number indicates a temporal relationship between different ones of the elements. Maintaining an ordering also includes maintaining a last aborted sequence number and an indicator of whether receipt of information indicating that the last aborted sequence number has been acknowledged and rejecting data associated with a sequence number indicative of a time before a time corresponding to the last aborted sequence number. The last aborted sequence number may be sent until receipt thereof is acknowledged. No data may be transmitted until receipt of the last aborted sequence number is acknowledged. The sequence numbers may be incremented by one.
摘要:
Storing recovery data for a data center includes providing synchronous data from the data center to a local destination, providing chunks of data from the local destination to a first remote destination, different from the first remote destination, and providing chunks of data from the data center to a second remote destination. At least some of the destinations may maintain a plurality of maps, where each of the maps associates synchronous data being provided to the local destination with a specific chunk of data. In response to receiving an indicator in connection with creation of a new chunk of data, the at least some of the destinations that maintain a plurality of maps may point to a new map. There may be two maps or more than two maps.
摘要:
Transferring data from a local storage device to a remote storage device includes providing, to a portion of the local storage device, data to be transferred from the local storage device to the remote storage device using a first mode that accesses an indicator of data being transferred, selecting a second mode for transferring data different from the first mode, where the second mode does not require the indicator, subdividing the portion of the local storage device into chunks, for each of the chunks, transferring the data, and, after all of the data from the chunks has been transferred, using the second mode for transferring data that is provided to the local storage device after selecting the second mode. Transferring data from a local storage device to a remote storage device may also include, prior to all of the data from the chunks being transferred, using a transition mode different from the first and second modes to transfer data that is provided to the local storage device after selecting the second mode, where the transition mode does not require the indicator.
摘要:
Described are techniques for partitioning storage of a data storage system. A plurality of storage groups is selected. Each of the plurality of storage groups includes one or more devices and is associated with an allocation policy including a first threshold specifying one of a minimum or a maximum amount of storage of a first of a plurality of storage tiers. Workload data for the plurality of storage groups is analyzed. Storage of a plurality of storage tiers is partitioned for use by the plurality of storage groups in accordance with criteria. The criteria includes workloads of the plurality of storage groups and the allocation policy associated with each of the plurality of storage groups.
摘要:
Reading data from a storage device includes presenting a read request to the storage device. In response to a more recent version of the data not being available on the storage device, the storage device requests the data from another storage device coupled to the storage device. In response to the more recent version of the data being available at the other storage device, the storage device obtains and copies the more recent version of the data prior to servicing the read request. The storage device services the read request by providing the data if the data is available. The storage device and the other storage device may be coupled using an RDF protocol.
摘要:
Described are techniques for enforcing an allocation policy. Information is received that describes one or more storage groups. Each of the storage groups includes one or more thin devices. Each of the thin devices includes a plurality of chunks of storage allocated on one or more of a plurality of storage tiers. For each of the one or more storage groups, a plurality of counters is determined indicating amounts of storage currently allocated from the plurality of storage tiers for use by the storage group. Using the plurality of counters, it is determined whether each of the one or more storage groups violates thresholds included in an allocation policy associated with each storage group. Each of the thresholds specifies a maximum amount of storage of one of the plurality of storage tiers that can be used by each storage group.
摘要:
Communicating work requests from a first storage unit of a storage device to a second storage unit of a storage device include providing a data record that contains information indicative of the work request, directly writing the data record from the first unit to the second unit, and writing the data record to a global memory that is accessible by the first unit and by the second unit. Writing the data record to a global memory may include writing the data record to an array in the global memory, where the array may include a plurality of locations that each have space to store a data record. Communicating work requests may also include generating a random number that is used to index the array to determine a location for storing the data record.
摘要:
Toggling between a first storage configuration and a second storage configuration includes disabling asynchronous data transfer to a third storage group from one of the first storage group and the second storage group and enabling asynchronous data transfer to the third storage group from an other one of the first storage group and second storage group. Toggling between a first storage configuration and a second storage configuration may also include, prior to disabling asynchronous data transfer to the third storage group, transferring pending data to the third storage group. Toggling between a first storage configuration and a second storage configuration may also include, after enabling asynchronous data transfer to the third storage group, transferring data to the third storage group that had been pending prior to disabling asynchronous data transfer to the third storage group.
摘要:
Handling failure of a primary group at a first data center may be simulated by cloning the at least one storage volume at a second data center, cloning at least one storage volume at a third data center, cloning at least one of: buffers used for providing data to the asynchronous backup group and maps used to maintain a record of data sent to the synchronous backup group but not yet sent to the asynchronous backup group; and simulating resuming work at one of the second data center and the third data center using at least one of clones of the buffers and clones of the maps.
摘要:
A network latency estimation apparatus for estimating latency in network communications between a server and a client. The apparatus comprises an event observer for observing occurrences of pre-selected events. The events associated with the communication occurring at the server. A logging device associated with the event observer for logging into a data store the occurrence of the events together with respective time information. A latency estimator associated with the logging device for using the logged occurrences with the respective time information to arrive at an estimation of a client's latency for the communication.