Patents by Inventor Andrew J. Spry

Andrew J. Spry has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9361042
    Abstract: The present invention is a method for accelerating proxy Input/Output (proxyI/O). The method includes the step of receiving a command at a primary target storage system. The primary target storage system may be part of a clustered storage array. The command may be a command which was transmitted by an initiator system via a storage area network, and may include a request for data. The method further includes the step of forwarding the command to a session layer of the primary target storage system. Further, when a virtualization layer of the primary target storage system determines that a portion of the data requested in the data request is not stored by the primary target storage system, but is stored by a proxy target storage system included in the plurality of storage systems, the method further includes providing a proxyIO request to a proxy initiator of the primary target storage system.
    Type: Grant
    Filed: October 21, 2014
    Date of Patent: June 7, 2016
    Assignee: NETAPP, INC.
    Inventor: Andrew J. Spry
  • Patent number: 9037900
    Abstract: The method includes receiving a command at a first storage system of a block storage cluster. The command is transmitted by the initiator system to the first storage system via a network and includes a request for data. The method further includes transferring the stored data from the first storage system to the initiator system via the network when data requested in the data request is stored by the first storage system. The method further includes transmitting a referral response from the first storage system to the initiator system when a portion of the data requested in the data request is not stored by the first storage system, but is stored by a second storage. system of the block storage cluster.
    Type: Grant
    Filed: July 16, 2014
    Date of Patent: May 19, 2015
    Assignee: NETAPP, INC.
    Inventors: Gerald J. Fredin, Andrew J. Spry, Kenneth J. Gibson, Ross E. Zwisler
  • Publication number: 20150039792
    Abstract: The present invention is a method for accelerating proxy Input/Output (proxyI/O). The method includes the step of receiving a command at a primary target storage system. The primary target storage system may be part of a clustered storage array. The command may be a command which was transmitted by an initiator system via a storage area network, and may include a request for data. The method further includes the step of forwarding the command to a session layer of the primary target storage system. Further, when a virtualization layer of the primary target storage system determines that a portion of the data requested in the data request is not stored by the primary target storage system, but is stored by a proxy target storage system included in the plurality of storage systems, the method further includes providing a proxyIO request to a proxy initiator of the primary target storage system.
    Type: Application
    Filed: October 21, 2014
    Publication date: February 5, 2015
    Inventor: Andrew J. Spry
  • Publication number: 20140365815
    Abstract: The method includes receiving a command at a first storage system of a block storage cluster. The command is transmitted by the initiator system to the first storage system via a network and includes a request for data. The method further includes transferring the stored data from the first storage system to the initiator system via the network when data requested in the data request is stored by the first storage system. The method further includes transmitting a referral response from the first storage system to the initiator system when a portion of the data requested in the data request is not stored by the first storage system, but is stored by a second storage. system of the block storage cluster.
    Type: Application
    Filed: July 16, 2014
    Publication date: December 11, 2014
    Inventors: Gerald J. Fredin, Andrew J. Spry, Kenneth J. Gibson, Ross E. Zwisler
  • Patent number: 8892789
    Abstract: The present invention is a method for accelerating proxy Input/Output (proxy I/O). The method includes the step of receiving a command at a primary target storage system. The primary target storage system may be part of a clustered storage array. The command may be a command which was transmitted by an initiator system via a storage area network, and may include a request for data. The method further includes the step of forwarding the command to a session layer of the primary target storage system. Further, when a virtualization layer of the primary target storage system determines that a portion of the data requested in the data request is not stored by the primary target storage system, but is stored by a proxy target storage system included in the plurality of storage systems, the method further includes providing a proxyIO request to a proxy initiator of the primary target storage system.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: November 18, 2014
    Assignee: Netapp, Inc.
    Inventor: Andrew J. Spry
  • Patent number: 8850116
    Abstract: A method for communication between an initiator system and a storage cluster. The method comprises receiving an initial I/O request from the initiator system to a first storage system; providing a referral response from the first storage system to the initiator system, the referral response providing information for directing the initiator system to a second storage system; notifying the second storage system regarding the referral response via a prefetch notice, the prefetch notice including an operation type and address information for accessing requested data; when the initial I/O request is a read request, prefetching at least a portion of the requested data stored in the second storage system in to a cache; receiving a second I/O request from the initiator system to the second storage system; and providing to the initiator system the portion of the prefetched data from the cache of the second storage system.
    Type: Grant
    Filed: March 10, 2010
    Date of Patent: September 30, 2014
    Assignee: LSI Corporation
    Inventor: Andrew J. Spry
  • Patent number: 8806267
    Abstract: The method includes receiving a command at a first storage system of a block storage cluster. The command is transmitted by the initiator system to the first storage system via a network and includes a request for data. The method further includes transferring the stored data from the first storage system to the initiator system via the network when data requested in the data request is stored by the first storage system. The method further includes transmitting a referral response from the first storage system to the initiator system when a portion of the data requested in the data request is not stored by the first storage system, but is stored by a second storage. system of the block storage cluster.
    Type: Grant
    Filed: November 5, 2012
    Date of Patent: August 12, 2014
    Assignee: Netapp, Inc.
    Inventors: Gerald J. Fredin, Andrew J. Spry, Kenneth J. Gibson, Ross E. Zwisler
  • Publication number: 20140164653
    Abstract: A method and/or system may be configured to receive an input/output (I/O) request from an initiator system, add priority information to a multiple path referral for each port on which data can be accessed, selectively omit ports on which data may be accessed, transmit the multiple path referral from the target to the initiator, and/or choose a path on the initiator with the highest performance.
    Type: Application
    Filed: December 23, 2013
    Publication date: June 12, 2014
    Applicant: LSI CORPORATION
    Inventors: Andrew J. Spry, Ross E. Zwisler, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8732340
    Abstract: The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network. The method includes receiving an input/output (I/O) at a first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on a second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: May 20, 2014
    Assignee: LSI Corporation
    Inventors: Ross E. Zwisler, Robert L. Sheffield, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8656070
    Abstract: The present disclosure is directed to a method for communication between an initiator system and a block storage cluster. The method may comprise initiating an input/output (I/O) request from the initiator system to a first storage system included in a plurality of storage systems of the block storage cluster, each of the plurality of storage systems comprising a plurality of data segments; receiving a referral response from the first storage system, the referral response providing information describing a layout of data requested in the I/O request; obtaining a virtual disk count, a segment size, and at least one indexed port identifier based on the referral response; and directing the I/O request from the initiator system to the block storage cluster based on the virtual disk count, the segment size, and the at least one indexed port identifier.
    Type: Grant
    Filed: April 29, 2009
    Date of Patent: February 18, 2014
    Assignee: LSI Corporation
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8615615
    Abstract: A method and/or system may be configured to receive an input/output (I/O) request from an initiator system, add priority information to a multiple path referral for each port on which data can be accessed, selectively omit ports on which data may be accessed, transmit the multiple path referral from the target to the initiator, and/or choose a path on the initiator with the highest performance.
    Type: Grant
    Filed: July 1, 2009
    Date of Patent: December 24, 2013
    Assignee: LSI Corporation
    Inventors: Andrew J. Spry, Ross E. Zwisler, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8527718
    Abstract: A method for communication between an initiator system and a block storage cluster may include receiving a first command at a first storage system included in a plurality of storage systems of the block storage cluster. The method may also include transmitting a referral response from the first storage system to the initiator system when at least a portion of the data associated in the first command is stored by a second storage system. The method may further include obtaining a segment start value and a corresponding port identifier based on the referral response, and directing a second command to at least a second storage system included in the plurality of storage systems of the block cluster.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: September 3, 2013
    Assignee: LSI Corporation
    Inventors: Ross Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8464034
    Abstract: Methods and systems for provision of boot parameters may comprise: receiving one or more boot parameter event notification registration requests; registering one or more boot parameter event receiver clients; and providing one or more boot parameters to one or more registered boot parameter event receiver clients.
    Type: Grant
    Filed: April 29, 2009
    Date of Patent: June 11, 2013
    Assignee: LSI Corporation
    Inventors: James A. Lynn, Andrew J. Spry, Scott Masterson
  • Patent number: 8341457
    Abstract: The present disclosure is directed to a system and a method for optimizing redundancy restoration in distributed data layout environments. The system may include a plurality of storage devices configured for providing data storage. The system may include a prioritization module communicatively coupled to the plurality of storage devices. The prioritization module may be configured for determining a restoration order of at least a first data portion and a second data portion when a critical data failure occurs. The system may include a restoration module communicatively coupled to the plurality of storage devices and the prioritization module, the restoration module configured for restoring at least the first data portion and the second data portion based upon the restoration order.
    Type: Grant
    Filed: March 11, 2010
    Date of Patent: December 25, 2012
    Assignee: LSI Corporation
    Inventors: Andrew J. Spry, Kevin Kidney
  • Patent number: 8332549
    Abstract: A method for communication between an initiator system and a block storage cluster may include receiving a first input/output (I/O) request from the initiator system. The method may also include sending a referral response from a first storage system included in a plurality of storage systems of the block storage cluster to the initiator system when data associated with the first I/O request is stored in more than one storage system of the plurality of storage systems of the block storage cluster. Additionally, the method may include directing a referral I/O to the first storage system and the second storage system for transferring data to or transferring data from the first storage system and the second storage system, and transferring data associated with the referral I/O to or transferring data associated with the referral I/O from the first storage system and the second storage system.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: December 11, 2012
    Assignee: LSI Corporation
    Inventors: Andrew J. Spry, Ross Zwisler, Gerald J. Fredin, Kenneth J. Gibson
  • Publication number: 20120303894
    Abstract: The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network. The method includes receiving an input/output (I/O) at a first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on a second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
    Type: Application
    Filed: August 3, 2012
    Publication date: November 29, 2012
    Applicant: LSI CORPORATION
    Inventors: Ross E. Zwisler, Robert L. Sheffield, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8307240
    Abstract: The present invention is a method for communication between an initiator system and a block storage cluster. The method includes receiving a command at a first storage system of a block storage cluster. The command is transmitted by the initiator system to the first storage system via a network and includes a request for data. The method further includes transferring the stored data from the first storage system to the initiator system via the network when data requested in the data request is stored by the first storage system. The method further includes transmitting a referral response from the first storage system to the initiator system when a portion of the data requested in the data request is not stored by the first storage system, but is stored by a second storage system of the block storage cluster. The referral response indicates to the initiator system that: a) not all of the requested data was transferred; and b) that the second storage system stores the portion of the requested data.
    Type: Grant
    Filed: December 15, 2008
    Date of Patent: November 6, 2012
    Assignee: Netapp, Inc.
    Inventors: Gerald J. Fredin, Andrew J. Spry, Kenneth J. Gibson, Ross E. Zwisler
  • Patent number: 8230068
    Abstract: A method for dynamically allocating a plurality of command processing resources is disclosed. The method generally includes the steps of (A) allocating the command processing resources from a first protocol layer to a first pool of a second protocol layer below the first protocol layer, (B) allocating at least some of the command processing resources from the first pool to a plurality of second pools and (C) sending a particular one of the command processing resources from one of the second pools to the first protocol layer for processing an operation.
    Type: Grant
    Filed: December 2, 2004
    Date of Patent: July 24, 2012
    Assignee: NetApp, Inc.
    Inventor: Andrew J. Spry
  • Patent number: 8219715
    Abstract: The present invention is a method for providing multi-pathing via Small Computer System Interface Input/Output (SCSI I/O) referral between an initiator and a storage cluster which are communicatively coupled via a network, the storage cluster including at least a first target device and a second target device. The method includes receiving an input/output (I/O) at the first target device from the initiator via the network. The I/O includes a data request. The method further includes transmitting a SCSI I/O referral list to the initiator when data included in the data request is not stored on the first target device, but is stored on the second target device. The referral list includes first and second port identifiers for identifying first and second ports of the second target device respectively. The first and second ports of the target device are identified as access ports for accessing the data requested in the data request.
    Type: Grant
    Filed: December 15, 2008
    Date of Patent: July 10, 2012
    Assignee: Netapp, Inc.
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson
  • Patent number: 8171178
    Abstract: A command is issued to a first data storage system for addressing a set of data and at least one of a first referral response including a referral to at least a second data storage system or at least a first subset of the set of data and the first referral response including the referral to the at least the second data storage system. The at least one of a first referral response is accessed. A command is issued to the second data storage system for addressing the set of data and a second referral response including a referral to at least one of the first data storage system and a third data storage system, the second data storage system including at least a second subset of the set of data. The second subset of the set of data and the second referral response including the referral to the at least one of the first data storage system or the third data storage system is accessed.
    Type: Grant
    Filed: September 3, 2009
    Date of Patent: May 1, 2012
    Assignee: LSI Corporation
    Inventors: Ross E. Zwisler, Andrew J. Spry, Gerald J. Fredin, Kenneth J. Gibson