摘要:
A storage array interconnection fabric may be configured using multiple independent paths. A storage system including a plurality of communication paths is configured for connecting each node of a plurality of nodes forming an interconnection fabric. Each of the communications paths is an independent communications path. In addition, a first portion of the plurality of nodes is configured to communicate with a plurality of mass storage devices such as disk drives. A second portion of the plurality of nodes may be configured to communicate with a host.
摘要:
A protection domain for a set of errors is defined using an association between data and first integrity metadata to protect data traversing an input/output datapath. The datapath has a storage device as one endpoint and a first generation integrity point for a host as an opposite endpoint. A first sub-domain is defined within the protection domain using an association between the data and second integrity metadata to further protect a portion of the datapath having a second generation integrity point as one endpoint. In another aspect, a second sub-domain is defined within the protection domain using an association between the data and third integrity metadata further protect data traversing a portion of the datapath having a third generation integrity point as one endpoint. The first and second sub-domains are nested within the protection boundary and may be in a hierarchical relationship.
摘要:
A storage device is monitored for data integrity errors and each detected data integrity error is stored in a count. When that count reaches a threshold limit, the storage device is placed into a forced failure state.
摘要:
A storage device controller coupled to a storage device having a multiple locations for storing data coupled to may receive a WRITE ANYWHERE command including write data but not specifying a location of the storage device where the write data should be stored. The controller responds to the WRITE ANYWHERE command by selecting one or more unused locations of the storage device, and writing the write data in the one or more unused locations of the storage device. After writing the write data to the storage device, the controller may report where the write data is stored to the host. The host may also issue FREE commands to the controller specifying locations of the storage device which should be identified as unused. In response to a received FREE command, the controller may store information in a memory indicating that the location specified by the FREE command is unused.
摘要:
In one embodiment, a storage subsystem includes a plurality of storage arrays each including a plurality of storage devices. The storage subsystem also includes a plurality of array controllers each coupled to one or more of the plurality of storage arrays. One or more of the arrays corresponds to a failure group. Each array controller may create a storage volume including storage devices belonging to one or more of plurality of storage arrays. In addition, the storage subsystem includes a redundancy controller that may be configured to implement N+K redundancy. The redundancy controller includes configuration functionality that may determine a number of redundant system data blocks to be stored on different storage devices for a given stripe of data that is dependent upon particular values of N and K and upon physical system configuration information.
摘要:
A system may include mirroring logic, a controller, and first and second devices (e.g., data storage devices). The first and second devices may include multiple registers. The mirroring logic may be configured in a first mode wherein the mirroring logic allows the registers of the first device to be accessed from the controller and prevents the registers of the second device from being accessed from the controller. The mirroring logic may be configured in a second mode wherein the mirroring logic allows the registers of the second device to be accessed from the controller and prevents the registers of the first device from being accessed. The first and second devices may be configured via the mirroring logic such that the first and second devices are selected simultaneously. When selected simultaneously, the first and second devices may carry out a subsequently issued command substantially simultaneously.
摘要:
A storage array interconnection fabric may be configured using a torus topology. A storage system including a path-redundant torus interconnection fabric is coupled to a plurality of nodes. The torus interconnection fabric may be configured to connect the plurality of nodes in an array including N rows and M columns, where N and M are positive integers. The array may be configured such that a first node in a first row of the N rows is connected to a second node in the first row and a first node in a first column of the M columns is connected to a second node in the first column. Also an ending node in the first row is connected to the first node in the first row and an ending node in the first column is connected to the first node in the first column. In addition, a first portion of the plurality of nodes is configured to communicate with a plurality of storage devices such as disk drives.
摘要:
A method for detecting errors in streaming media devices is described. In one embodiment, when a command to write a block of data to a streaming media device is received, integrity metadata associated with the data block is attached to the data block and written to the streaming media device together with the data block. Subsequently, when a read command pertaining to this data block is received, new integrity metadata is determined and compared to the attached metadata. If the new integrity metadata does not match the attached metadata, an error message is generated.
摘要:
A single field replaceable storage or computer system may include a processor coupled to a peripheral bus by a bridge device. The field replaceable unit (FRU) may also include system memory coupled to the processor and a network interface coupled to the peripheral bus. One or more drive controllers may also be included coupled to the peripheral bus. Additionally, the single field replaceable unit includes an array of disk drives coupled to the one or more drive controllers. The array of disk drives may be configured as one or more RAID logical volumes and exported or presented to client machines as one or more file systems through the network interface. The processor, system memory, network interface, drive controllers, and array of disk drives are all packaged together as a single field replaceable unit. The processor, system memory, network interface, drive controllers, and array of disk drives may be configured not to be individually field serviceable or replaceable. If the unit fails and needs servicing or replacement, the unit may be replaced as a whole.
摘要:
A storage device controller configured for coupling to a storage device (e.g., a hard disk drive) having a multiple locations for storing data. The controller is coupled to receive a WRITE ANYWHERE command including write data. Unlike a conventional write command, the WRITE ANYWHERE command does not specify a location of the storage device where the write data is to be stored. The controller responds to the WRITE ANYWHERE command by: (i) selecting one or more unused locations of the storage device, and (ii) writing the write data to the storage device, wherein the writing of the write data includes directing the storage device to store the write data in the one or more unused locations of the storage device. At least a portion of the write data in stored in each of the one or more unused locations. The controller may be coupled to receive the WRITE ANYWHERE command from a host configured to track usage of the locations of the storage device. After writing the write data to the storage device, the controller may report the one or more locations of the storage device where the write data is stored to the host. The host may also issue FREE commands to the controller specifying locations of the storage device which should be identified as unused. In response to a received FREE command, the controller may store information in a memory indicating that the location of the storage device specified by the FREE command is unused.