Patents by Inventor Robert L. Fair

Robert L. Fair 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: 9235450
    Abstract: A computer-implemented method to reduce slow or stuck SCSI commands at a SCSI target is disclosed. The method starts with initiating a first request to acquire an exclusive lock for a first service daemon of a SCSI target to shut down a first service, where the SCSI target offers a plurality of services, and where each service corresponds to a service daemon. The first service daemon receives a first rejection of the exclusive lock for the first request as the exclusive lock is currently held by a second service daemon corresponding to a second service. Then the first service daemon initiates a second request to acquire the exclusive lock in an attempt to shut down the first service again after a delay period. In response to a second rejection, execution of SCSI commands associated with the second service currently possessing the exclusive lock is terminated.
    Type: Grant
    Filed: June 26, 2013
    Date of Patent: January 12, 2016
    Assignee: EMC Corporation
    Inventors: Robert L. Fair, Shobhan Kumar Chinnam
  • Publication number: 20150339221
    Abstract: A data storage system can automatically improve the layout of data blocks on a mass storage subsystem by collecting optimization information during both read and write activities, then processing the optimization information to limit the impact of optimization activities on the system's response to client requests. Processing read-path optimization information and write-path optimization information through shared rate-limiting logic simplifies system administration and promotes phased implementation, which can reduce the difficulty of developing a self-optimizing storage server.
    Type: Application
    Filed: August 4, 2015
    Publication date: November 26, 2015
    Inventor: Robert L. Fair
  • Patent number: 9152352
    Abstract: A method of an aspect includes receiving a request to move between filemarks at a network interface. A filemark cache is accessed with an offset into an open virtual tape file based on the received request. A determination is made that the offset is in the filemark cache. Filemark metadata corresponding to the offset is read from the filemark cache. The filemark cache is separate from the open virtual tape file. Other methods, apparatus, and articles are also disclosed.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: October 6, 2015
    Assignee: EMC Corporation
    Inventor: Robert L. Fair
  • Patent number: 9152565
    Abstract: A storage system implements a storage operating system configured to concurrently perform speculative readahead for a plurality of different read streams. Unlike previous implementations, the operating system manages a separate set of readahead metadata for each of the plurality of read streams. Consequently, the operating system can “match” a received client read request with a corresponding read stream, then perform readahead operations for the request in accordance with the read stream's associated set of metadata. Because received client read requests are matched to their corresponding read streams on a request-by-request basis, the operating system can concurrently perform readahead operations for multiple read streams, regardless of whether the read streams' file read requests are received by the storage system in sequential, nearly-sequential or random orders.
    Type: Grant
    Filed: February 6, 2008
    Date of Patent: October 6, 2015
    Assignee: NetApp, Inc.
    Inventor: Robert L. Fair
  • Patent number: 9152503
    Abstract: A system and method efficiently calculates an estimated amount of storage required to split a clone volume from its parent volume. The system and method is illustratively embodied as a command line interface (CLI) command, i.e., a clone split estimate command, executed by an estimation module of a storage system. Notably, the estimation module cooperates with a file system of the storage system to quickly access data structures containing information used to perform the storage calculation without the need to access each block of the clone and parent volumes.
    Type: Grant
    Filed: May 20, 2010
    Date of Patent: October 6, 2015
    Assignee: NetApp, Inc.
    Inventor: Robert L. Fair
  • Patent number: 9110599
    Abstract: A system and method for thin provisioning in a virtual tape library. In one embodiment, a method includes the operations of receiving, from a user entity, a first request to create a pool of virtual tapes for the user entity, wherein data for the pool of virtual tapes is stored on physical storage; creating the pool of virtual tapes for the user entity according to the first request such that a provisioned capacity of data storage for the pool of virtual tapes exceeds an actual capacity of data storage available to the pool of virtual tapes on the physical storage; and presenting the pool of virtual tapes to a second system as physical tape storage having the provisioned capacity available for data storage and not the actual capacity.
    Type: Grant
    Filed: May 10, 2013
    Date of Patent: August 18, 2015
    Assignee: EMC Corporation
    Inventor: Robert L. Fair
  • Patent number: 9098419
    Abstract: A data storage system can automatically improve the layout of data blocks on a mass storage subsystem by collecting optimization information during both read and write activities, then processing the optimization information to limit the impact of optimization activities on the system's response to client requests. Processing read-path optimization information and write-path optimization information through shared rate-limiting logic simplifies system administration and promotes phased implementation, which can reduce the difficulty of developing a self-optimizing storage server.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: August 4, 2015
    Assignee: NetApp, Inc.
    Inventor: Robert L. Fair
  • Patent number: 9063842
    Abstract: A system and method for enforcing quotas in a data storage system. In one embodiment, a method includes the operations of receiving a first request that defines a storage quota for a pool of virtual tapes that is allocated to a user entity; defining the storage quota for the pool of virtual tapes according to the request, wherein the defined storage quota limits a quantity of data that the user entity can store in physical storage of the storage system; receiving a second request from the user entity to write data to the virtual tape of the pool of virtual tapes; and returning a first status that indicates the data to be written from the second request cannot be written and failing the second request where a quantity of the data from the user entity's second request exceeds the defined storage quota.
    Type: Grant
    Filed: May 10, 2013
    Date of Patent: June 23, 2015
    Assignee: EMC Corporation
    Inventors: Robert L. Fair, Imran Khan, Pranay Singh
  • Patent number: 9009742
    Abstract: According to one embodiment, a virtual tape library (VTL) receives a plurality of small computer system interface (SCSI) data objects, and translates the SCSI data objects into a first set of one or more remote procedure call (RPC) data objects having a first size, wherein the first size of the first RPC data set is based on a current limit maintained by the VTL. The VTL writes the first RPC data set and a first RPC commit request to a file system. The VTL receives a first RPC status corresponding to the first RPC commit from the file system, and determines a first latency time between writing the first RPC commit and receiving the first RPC status. The VTL updates the current limit based on the first latency time in order to optimize a second latency time between a second RPC commit request and a corresponding second RPC status.
    Type: Grant
    Filed: May 10, 2013
    Date of Patent: April 14, 2015
    Assignee: EMC Corporation
    Inventors: Robert L. Fair, Imran Khan
  • Patent number: 8935470
    Abstract: A method of an aspect includes determining to prune a filemark cache. The filemark cache has entries that each store filemark metadata for a different corresponding filemark of a plurality of open virtual tape files. The method also includes pruning the filemark cache by removing a portion of the entries of the filemark cache. Other methods, apparatus, and articles are also disclosed.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: January 13, 2015
    Assignee: EMC Corporation
    Inventor: Robert L. Fair
  • Publication number: 20150006777
    Abstract: A computer-implemented method to reduce slow or stuck SCSI commands at a SCSI target is disclosed. The method starts with initiating a first request to acquire an exclusive lock for a first service daemon of a SCSI target to shut down a first service, where the SCSI target offers a plurality of services, and where each service corresponds to a service daemon. The first service daemon receives a first rejection of the exclusive lock for the first request as the exclusive lock is currently held by a second service daemon corresponding to a second service. Then the first service daemon initiates a second request to acquire the exclusive lock in an attempt to shut down the first service again after a delay period. In response to a second rejection, execution of SCSI commands associated with the second service currently possessing the exclusive lock is terminated.
    Type: Application
    Filed: June 26, 2013
    Publication date: January 1, 2015
    Inventors: Robert L. Fair, Shobhan Kumar Chinnam
  • Patent number: 8838840
    Abstract: A computer-implemented method to recover from slow or stuck SCSI commands is disclosed. The method starts with monitoring execution time of an operation by a small computer system interface (SCSI) target processor within a SCSI target, where the SCSI target is communicatively coupled with a SCSI initiator through a set of communication links, where the operation is associated with a service offered by the SCSI target, and where the operation is performed for executing SCSI commands associated with the service. When the execution time of the operation exceeds a first threshold, the method proceeds with performing a first escalating action to reduce workload of the SCSI target processor. When the execution time of the operation exceeds a second threshold, the method further proceeds with performing a second escalating action that is different from the first escalating action to reduce workload of the SCSI target processor.
    Type: Grant
    Filed: June 26, 2013
    Date of Patent: September 16, 2014
    Assignee: EMC Corporation
    Inventors: Robert L. Fair, Shobhan Kumar Chinnam
  • Publication number: 20140156600
    Abstract: A method of making a foreign law in usable in a network storage controller includes transparently converting the foreign logical unit to the native format of the file system in place, by progressively increasing the binding between the file system of the storage controller and the foreign logical unit, while the foreign logical unit remains online, without requiring copying of the foreign logical unit.
    Type: Application
    Filed: August 20, 2013
    Publication date: June 5, 2014
    Applicant: NetApp, Inc.
    Inventors: Robert L. Fair, Rebecca S. Beaman
  • Patent number: 8515917
    Abstract: A method of making a foreign law in usable in a network storage controller includes transparently converting the foreign logical unit to the native format of the file system in place, by progressively increasing the binding between the file system of the storage controller and the foreign logical unit, while the foreign logical unit remains online, without requiring copying of the foreign logical unit.
    Type: Grant
    Filed: April 30, 2008
    Date of Patent: August 20, 2013
    Assignee: NetApp, Inc.
    Inventors: Robert L. Fair, Rebecca S. Beaman
  • Patent number: 8359430
    Abstract: A data storage system can automatically improve the layout of data blocks on a mass storage subsystem by collecting optimization information during both read and write activities, then processing the optimization information to limit the impact of optimization activities on the system's response to client requests. Processing read-path optimization information and write-path optimization information through shared rate-limiting logic simplifies system administration and promotes phased implementation, which can reduce the difficulty of developing a self-optimizing storage server.
    Type: Grant
    Filed: August 30, 2007
    Date of Patent: January 22, 2013
    Assignee: Network Appliance, Inc.
    Inventor: Robert L. Fair
  • Patent number: 8117396
    Abstract: Methods and apparatuses provide a multi-level buffer cache having queues corresponding to different priority levels of queuing within the buffer cache. One or more data blocks are buffered in the buffer cache. In one embodiment, an initial level of queue is identified for a data block to be buffered in the buffer cache. The initial level of queue can be modified higher or lower depending on a value of a cache property associated with the data block. In one embodiment, the data block is monitored for data access in a queue, and the data block is aged and moved to higher level(s) of queuing based on rules for the data block. The rules can apply to the queue in which the data block is buffered, to a data type of the data block, or to a logical partition to which the data block belongs.
    Type: Grant
    Filed: October 10, 2006
    Date of Patent: February 14, 2012
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, Matti A. Vanninen
  • Patent number: 7996445
    Abstract: A data storage system pre-fetches data blocks from a mass storage device, then determines whether reallocation of the pre-fetched blocks would improve access to them. If access would be improved, the pre-fetched blocks are written to different areas of the mass storage device. Several different implementations of such data storage systems are described.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: August 9, 2011
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, Robert M. English
  • Patent number: 7979402
    Abstract: A system and method for managing data during consistency points in a storage system is provided. A buffer data control structure is modified to include a flags array that tracks various status flags for both a current and a next consistency point (CP). By utilizing multiple pointers within a buffer control structure, the storage system may permit write operations to continue to a data container undergoing write allocation. Received writes during a write allocation procedure are stored in raw data buffers and the buffer control structure is marked as being dirty for a next CP.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: July 12, 2011
    Assignee: NetApp, Inc.
    Inventors: Eric Hamilton, Jeffrey S. Kimmel, Robert L. Fair, Ashish Prakash
  • Patent number: 7873963
    Abstract: Provided is a method and system for detecting languishing messages of a storage operating system. Requests to access or manipulate data are received as messages by the storage operating system. The messages are processed after the acquisition of resources. If the resources cannot be acquired, then the messages wait on data structures of the storage operating system. An independent thread of the storage operating system identifies messages that are languishing. Information related to the languishing message is recorded and actions to permit messages to continue waiting or cause storage operating system downtime result.
    Type: Grant
    Filed: October 25, 2005
    Date of Patent: January 18, 2011
    Assignee: NetApp, Inc.
    Inventor: Robert L. Fair
  • Patent number: 7827349
    Abstract: A storage system, such as a storage server, receives a list of volume block numbers (VBNs) in a multi-block read request. In response to the request, the storage system coalesces the list into one or more chains of sequential VBNs. The storage system issues each chain to the storage subsystem.
    Type: Grant
    Filed: June 1, 2009
    Date of Patent: November 2, 2010
    Assignee: Network Appliance, Inc.
    Inventor: Robert L. Fair