Abstract:
Technology is disclosed for a data storage architecture for providing enhanced storage resiliency for a data object. The data storage architecture can be implemented in a single-tier configuration and/or a multi-tier configuration. In the single-tier configuration, a data object is encoded, e.g., based on an erasure coding method, to generate many data fragments, which are stored across many storage devices. In the multi-tier configuration, a data object is encoded, e.g., based on an erasure coding method, to generate many data segments, which are sent to one or more tiers of storage nodes and at least one latent storage. Each of the storage nodes further encodes the data segment to generate many data fragments representing the data segment, which are stored across many storage devices associated with the storage node. The I/O operations for rebuilding the data in case of device failures is spread across many storage devices, which minimizes the wear of a given storage device.
Abstract:
Techniques for dynamic throttling of scan requests for multiple scanners in a cluster of nodes are described. An apparatus may comprise a dynamic throttling service component for executing the dynamic throttling of scan requests for the multiple scanners in the cluster of nodes. The dynamic throttling service component operative to estimate, by the scanner proxy, a resource limit count value representative of resource capacity for servicing scan requests for each one of the multiple scanners in the cluster of nodes; detect a first scan request exceeds the resource limit count value for a first scanner; dynamically throttle each subsequent scan request for the first scanner in response to the first scan request exceeding the resource limit count value; and revise the resource limit count value, by the scanner proxy, for the first scanner.
Abstract:
Individual wire defects in a data transfer/communication system that employs differential signaling can be detected during connectivity verification of a link prior to link training by individually disconnecting wires by wire polarity and testing the link. For example, the positive transmit wire of a lane may be verified by disconnecting the negative transmit wire of the lane and performing link connectivity verification. If the link passes connectivity verification, then the positive transmit wire of the lane is functioning normally. Connectivity of the negative transmit wire of the lane may then be verified by disconnecting the positive transmit wire of the lane and determining if the passes the connectivity verification.
Abstract:
JTAG testing can be facilitated by providing loopbacks in a circuit that lacks a JTAG interface. A loopback may be created by connecting a receiving pin to a transmit pin of a circuit that lacks the JTAG interface. The loopback would cause a test value received in the circuit to be transmitted back out of the circuit. Therefore, a test value may be sent from an integrated circuit with a JTAG interface and then read back at the same integrated circuit with the JTAG interface. Using a loopback allows the interconnects between two integrated circuits to be tested despite one integrated circuit lacking a JTAG interface. Using the loopback also frees up pins for one of the integrated circuits that would otherwise be used by the JTAG interface.
Abstract:
Examples are disclosed for using or designing Chien search circuitry to locate errors for error correction code (ECC) encoded data. In some examples, an error locator polynomial (ELP) may be received that indicates a number of possible error locations for ECC encoded data. Chien search circuitry may be designed such that error locations are found based on the received ELP within one or more passes through the search circuitry. The design of the Chien search circuitry to accommodate both an average expected number of error locations for received ELPs and a worst case number of error locations for received ELPs. Other examples are described and claimed.
Abstract:
A clustered storage environment can distribute responsibility for naming virtual disks to nodes of the clustered storage environment. The clustered storage environment maintains a list of names in a structure that is visible to cluster member nodes responsible for naming the virtual disks. As the cluster member nodes discover mass storage devices (e.g., storage arrays) in the clustered storage environment, the nodes determine identifiers of the mass storage devices. For each mass storage device, the nodes use the mass storage device identifier to establish a namespace for virtual disks of the corresponding mass storage device. The nodes can then provide consistent, exclusive names for the virtual disks throughout the cluster that are manageable names.
Abstract:
Methods and apparatuses for performing selective deduplication in a storage system are introduced here. Techniques are provided for determining a probability of deduplication for a data object based on a characteristic of the data object and performing a deduplication operation on the data object in the storage system prior to the data object being stored in persistent storage of the storage system if the probability of deduplication for the data object has a specified relationship to a specified threshold.
Abstract:
The disclosed embodiments relate to systems and methods for coordinating management of a shared disk storage between nodes. Particularly, a messaging protocol may be used to communicate notifications regarding each node's perception of the shared storage's state. The nodes may use the messaging protocol to achieve consensus when recovering from a storage device failure. Some embodiments provide for recovery when localized failures, such as failures at an adapter on a node, occur.
Abstract:
One or more techniques and/or systems are provided for storage device health status synchronization. For example, a first health status registry is maintained for a first storage controller at a first storage site. The first storage controller stores storage device health status information of storage devices currently owned by or assigned to the first storage controller within the first health status registry. A second health status registry is maintained for a second storage controller at a second storage site. The second storage controller stores storage device health status information of storage device currently owned by or assigned to the second storage controller within the second health status registry. The first health status registry and the second health status registry are synchronized during operation of the first storage site and the second storage site and/or are merged between the first storage site and the second storage site after disaster recovery.
Abstract:
Example embodiments provide various techniques for locating cryptographic keys stored in a cache. The cryptographic keys are temporarily stored in the cache until retrieved for use in a cryptographic operation. The cryptographic key may be located or found through reference to its cryptographic key identifier. In an example, a particular cryptographic key may be needed for a cryptographic operation. The cache is first searched to locate this cryptographic key. To locate the cryptographic key, the cryptographic key identifier that is associated with this cryptographic key is provided. In turn, the cryptographic key identifier may be used as an address into the cache. The address identifies a location of the cryptographic key within the cache. The cryptographic key may then be retrieved from the cache at the identified address and then used in the cryptographic operation.