High performance storage array interconnection fabric using multiple independent paths
    1.
    发明授权
    High performance storage array interconnection fabric using multiple independent paths 有权
    使用多个独立路径的高性能存储阵列互连结构

    公开(公告)号:US07401161B2

    公开(公告)日:2008-07-15

    申请号:US09739924

    申请日:2000-12-18

    IPC分类号: G06F15/16

    CPC分类号: H04L67/1097 H04L12/56

    摘要: 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.

    摘要翻译: 可以使用多个独立路径来配置存储阵列互连结构。 包括多个通信路径的存储系统被配置为连接形成互连结构的多个节点中的每个节点。 每个通信路径是独立的通信路径。 此外,多个节点的第一部分被配置为与诸如磁盘驱动器的多个大容量存储设备进行通信。 多个节点的第二部分可以被配置为与主机通信。

    Data storage array employing block checksums and dynamic striping
    2.
    发明授权
    Data storage array employing block checksums and dynamic striping 有权
    数据存储阵列采用块校验和和动态条带

    公开(公告)号:US06742081B2

    公开(公告)日:2004-05-25

    申请号:US09846667

    申请日:2001-04-30

    IPC分类号: G06F1200

    CPC分类号: G06F11/1076 G06F2211/1026

    摘要: A storage system may include a plurality of storage devices each having a plurality of addressable locations for storing data. A storage controller may be coupled to the storage devices and configured to store and retrieve data from the storage devices. An indirection map may be stored within the system having a plurality of map entries each configured to map a virtual address to a physical address on the storage devices. Each map entry may also store a checksum for data stored at the physical address indicated by the map entry. The storage controller may receive storage requests specifying a virtual address and may access the indirection map for each storage request to obtain the corresponding physical address and checksum. Dynamic striping may be employed so that new writes form new parity groups. Thus, stripes of various sizes may be supported by the storage system.

    摘要翻译: 存储系统可以包括多个存储设备,每个存储设备具有用于存储数据的多个可寻址位置。 存储控制器可以耦合到存储设备并且被配置为从存储设备存储和检索数据。 间接地图可以存储在具有多个映射条目的系统内,每个映射条目被配置为将虚拟地址映射到存储设备上的物理地址。 每个地图条目还可以存储存储在由地图条目指示的物理地址处的数据的校验和。 存储控制器可以接收指定虚拟地址的存储请求,并且可以访问每个存储请求的间接映射以获得相应的物理地址和校验和。 可以采用动态条带化,以便新的写入形成新的奇偶校验组。 因此,存储系统可以支持各种尺寸的条纹。

    Field replaceable storage array
    3.
    发明授权
    Field replaceable storage array 有权
    现场可更换存储阵列

    公开(公告)号:US06938181B1

    公开(公告)日:2005-08-30

    申请号:US09721064

    申请日:2000-11-21

    IPC分类号: G06F11/00

    摘要: 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.

    摘要翻译: 单个现场可更换存储器或计算机系统可以包括通过桥接器件耦合到外围总线的处理器。 现场可更换单元(FRU)还可以包括耦合到处理器的系统存储器和耦合到外围总线的网络接口。 也可以包括耦合到外围总线的一个或多个驱动控制器。 另外,单现场可更换单元包括耦合到一个或多个驱动控制器的磁盘驱动器阵列。 磁盘驱动器阵列可以配置为一个或多个RAID逻辑卷,并通过网络接口作为一个或多个文件系统导出或呈现给客户机。 处理器,系统内存,网络接口,驱动器控制器和磁盘驱动器阵列都作为单个现场可更换单元打包在一起。 处理器,系统内存,网络接口,驱动器控制器和磁盘驱动器阵列可能被配置为不是单独现场可维护的或可更换的。 如果本机故障,需要维修或更换,则可能会将本机整体更换。

    Storage controller configured to select unused regions of a storage device for data storage according to head position
    4.
    发明授权
    Storage controller configured to select unused regions of a storage device for data storage according to head position 有权
    存储控制器被配置为根据头位置来选择用于数据存储的存储设备的未使用区域

    公开(公告)号:US06789162B1

    公开(公告)日:2004-09-07

    申请号:US09690599

    申请日:2000-10-17

    IPC分类号: G06F1200

    摘要: 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.

    摘要翻译: 存储设备控制器,被配置为耦合到具有用于存储数据的多个位置的存储设备(例如,硬盘驱动器)。 控制器被耦合以接收包括写入数据的WRITE ANYWHERE命令。 与常规写入命令不同,WRITE ANYWHERE命令不指定要存储写入数据的存储设备的位置。 控制器通过以下操作来响应WRITE ANYWHERE命令:(i)选择存储设备的一个或多个未使用的位置,以及(ii)将写入数据写入存储设备,其中写入数据的写入包括将存储设备指向 将写入数据存储在存储设备的一个或多个未使用的位置中。 存储在一个或多个未使用位置中的每一个中的至少一部分写入数据。 控制器可以被耦合以从配置为跟踪存储设备的位置的使用的主机接收WRITE ANYWHERE命令。 在将写入数据写入存储设备之后,控制器可以将存储设备的一个或多个位置报告给主机。 主机还可以向控制器发出免费命令,指定应识别为未使用的存储设备的位置。 响应于接收到的FREE命令,控制器可以将信息存储在指示由FREE命令指定的存储设备的位置未使用的存储器中。

    File system write to storage without specifying location reference
    5.
    发明授权
    File system write to storage without specifying location reference 有权
    文件系统写入存储而不指定位置参考

    公开(公告)号:US07783828B1

    公开(公告)日:2010-08-24

    申请号:US10856610

    申请日:2004-05-28

    IPC分类号: G06F12/00

    摘要: 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.

    摘要翻译: 耦合到存储设备的存储设备控制器具有用于存储耦合到数据的多个位置的存储设备,其可以接收包括写入数据但不指定应存储写入数据的存储设备的位置的写入任务命令。 控制器通过选择存储设备的一个或多个未使用位置以及将写入数据写入存储设备的一个或多个未使用位置来响应“写入任务”命令。 在写入数据到存储设备之后,控制器可以向主机报告存储写入数据的位置。 主机还可以向控制器发出免费命令,指定应识别为未使用的存储设备的位置。 响应于接收到的FREE命令,控制器可以将信息存储在指示由FREE命令指定的位置未使用的存储器中。

    System and method for efficient data mirroring in a pair of storage devices
    6.
    发明授权
    System and method for efficient data mirroring in a pair of storage devices 有权
    一对存储设备中高效数据镜像的系统和方法

    公开(公告)号:US06813688B2

    公开(公告)日:2004-11-02

    申请号:US09729762

    申请日:2000-12-04

    IPC分类号: G06F1116

    CPC分类号: G06F11/2087

    摘要: 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.

    摘要翻译: 系统可以包括镜像逻辑,控制器以及第一和第二设备(例如,数据存储设备)。 第一和第二设备可以包括多个寄存器。 镜像逻辑可以以第一模式配置,其中镜像逻辑允许从控制器访问第一设备的寄存器,并且防止从控制器访问第二设备的寄存器。 镜像逻辑可以被配置为第二模式,其中镜像逻辑允许从控制器访问第二设备的寄存器,并且防止访问第一设备的寄存器。 可以经由镜像逻辑来配置第一和第二设备,使得同时选择第一和第二设备。 当同时选择时,第一和第二装置可以基本同时地执行随后发出的命令。

    Storage array interconnection fabric using a torus topology
    7.
    发明授权
    Storage array interconnection fabric using a torus topology 有权
    使用环面拓扑的存储阵列互连结构

    公开(公告)号:US06718428B2

    公开(公告)日:2004-04-06

    申请号:US09740132

    申请日:2000-12-18

    IPC分类号: G06F1200

    CPC分类号: H04L67/1097

    摘要: 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.

    摘要翻译: 可以使用环面拓扑来配置存储阵列互连结构。 包括路径冗余环面互连结构的存储系统耦合到多个节点。 环面互连结构可以被配置为连接包括N行和M列的阵列中的多个节点,其中N和M是正整数。 阵列可以被配置为使得N行的第一行中的第一节点连接到第一行中的第二节点,并且M列的第一列中的第一节点连接到第一列中的第二节点 。 第一行中的结束节点也连接到第一行中的第一个节点,第一列中的结束节点连接到第一列中的第一个节点。 此外,多个节点的第一部分被配置为与诸如磁盘驱动器的多个存储设备进行通信。

    Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices
    8.
    发明授权
    Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices 有权
    用于选择性地形成处理单元和多个设备之间的通信信道的交换机的数据交换方法

    公开(公告)号:US06845409B1

    公开(公告)日:2005-01-18

    申请号:US09624853

    申请日:2000-07-25

    IPC分类号: G06F3/00 G06F3/06

    摘要: A switch is presented including a host input/output (I/O) port adapted for coupling to a controller, multiple device I/O ports each adapted for coupling to at least one device, and logic coupled between the host I/O port and the device I/O ports configured to selectively form a communication channel between the host I/O port and one of the device I/O ports. The switch may operate in a connected mode and a disconnected mode. When in the switch is in the disconnected mode, the logic may not form a communication channel between the host I/O port and any of the device I/O ports. In an ATA embodiment, the switch may comply with an AT attachment (ATA) standard, and thus be an ATA switch. The host I/O port may be adapted for coupling to an ATA controller, the device I/O ports may be adapted for coupling to at least one ATA device, and the logic may selectively form an ATA communication channel between the host I/O port and one of the device I/O ports. Several methods for exchanging data between a processing unit coupled to the host I/O port of the switch and one or more devices coupled to device I/O ports of the switch are described. Several methods for performing direct memory access (DMA) transfers to move data between a memory of the processing unit and one or more of the devices are also described.

    摘要翻译: 提出了一种开关,其包括适于耦合到控制器的主机输入/输出(I / O)端口,每个适于耦合到至少一个设备的多个设备I / O端口以及耦合在主机I / O端口和 设备I / O端口被配置为选择性地在主机I / O端口和设备I / O端口之一之间形成通信信道。 开关可以在连接模式和断开模式下工作。 当交换机处于断开连接模式时,逻辑可能不会在主机I / O端口和任何设备I / O端口之间形成通信通道。 在ATA实施例中,交换机可以符合AT附件(ATA)标准,因此是ATA交换机。 主机I / O端口可以适于耦合到ATA控制器,设备I / O端口可以适于耦合到至少一个ATA设备,并且逻辑可以选择性地在主机I / O之间形成ATA通信信道 端口和设备I / O端口之一。 描述了在耦合到交换机的主机I / O端口的处理单元与耦合到交换机的设备I / O端口的一个或多个设备之间交换数据的几种方法。 还描述了用于执行直接存储器访问(DMA)传送以在处理单元的存储器和一个或多个设备之间移动数据的几种方法。

    Message routing in a torus interconnect

    公开(公告)号:US07080156B2

    公开(公告)日:2006-07-18

    申请号:US10104923

    申请日:2002-03-21

    IPC分类号: G06F15/173

    CPC分类号: H04L45/06 G06F15/17337

    摘要: Systems and methods for routing messages in an interconnection fabric are provided. The fabric includes a plurality of nodes, each node having, for example, four ports coupled to adjacent nodes in the fabric. A source node initiating a message in the fabric can transmit the message out of one of its four ports. Between a source node and a destination node, there are at least four independent paths which may be taken, depending on the output port from the source node. However, the precise path is not expressly delineated in the message. Instead, the message contains the address of the destination node, the address of the originating node, and a target region for the message. Each intermediate node is configured to receive a message via one of its four ports, and then select an appropriate output port based on the location of the port which received the message combined with the address and target information contained in the message. By providing a system by which four independent paths can be taken by a message, at least three intermediate nodes can fail in the fabric before the message is prevented from reaching the destination node.

    High density packaging for multi-disk systems

    公开(公告)号:US06510050B1

    公开(公告)日:2003-01-21

    申请号:US09718866

    申请日:2000-11-21

    IPC分类号: H05K114

    CPC分类号: G11B33/125

    摘要: A substrate for packaging a storage or server system may include one or more sections of the substrate configured to hold a two-dimensional array of disk drives. Another section of this substrate may be configured to hold circuitry for accessing the array of disk drives. This circuitry may include one or more processors. The substrate also includes a first plurality of ribs positioned in the first access of the substrate. The first plurality of ribs separate the sections from one another. The section configured to hold the control circuitry may also be configured to hold one or more power supplies for supplying power to the array of disk drives and control circuitry. This section, as well as other sections, may be divided in two by one or more additional ribs in a transverse direction. The substrate may be configured to be mounted in a cage or rack and may include an edge connector at one edge of the substrate to provide electrical connectivity to a back plane in the cage or rack. A lateral protrusion may extend along each parallel edge of the substrate for mounting the substrate in the cage or rack by sliding the substrate into the cage or rack.