Patents by Inventor Robert L. Sheffield

Robert L. Sheffield 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: 9858007
    Abstract: A controller includes a virtual memory mapped to device-side Peripheral component interconnect express address space includes virtual buffers allocation for each data transfer. Each virtual buffer is associated with a scatter/gather list entry in a host memory. The controller executes direct transfers between Peripheral component interconnect express devices and host memory without introducing address mapping dependencies between the host and device domains.
    Type: Grant
    Filed: May 28, 2014
    Date of Patent: January 2, 2018
    Assignee: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
    Inventor: Robert L. Sheffield
  • Patent number: 9524107
    Abstract: Methods and structure for host-side device drivers for Redundant Array of Independent Disks (RAID) systems. One system includes a processor and memory of a host, which implement a device driver. The device driver receives an Input/Output (I/O) request from an Operating System (OS) of the host, translates Logical Block Addresses (LBAs) from the received request into physical addresses at multiple storage devices, generates child I/O requests directed to the physical addresses based on the received request, and accesses an address lock system at a RAID controller to determine whether the physical addresses are accessible. If the physical addresses are accessible, the device driver reserves the physical addresses by updating the address lock system, and directs the child I/O requests to a hardware path at the RAID controller for handling single-strip I/O requests. If the physical addresses are not accessible, the device driver delays processing of the child I/O requests.
    Type: Grant
    Filed: July 30, 2014
    Date of Patent: December 20, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Adam Weiner, James A Rizzo, Mark Ish, Robert L Sheffield, Horia Cristian Simionescu
  • Patent number: 9323476
    Abstract: Methods for managing region lock in a storage controller are disclosed. Upon receiving in a hardware based region lock management circuit a data request, the region lock management circuit determines a lock type of a region lock specified in the data request and conditionally creates a region lock data structure, wherein the region lock data structure is conditionally created based on the type of the region lock requested. The region lock management circuit further determines whether the data request is requesting access to at least a portion of a locked data region and the lock type of the locked data region. If the data request is requesting access to at least a portion of the locked data region and the lock type of the locked data region permits firmware diversion, the region lock management circuit diverts the data request to a storage controller firmware processor for further processing.
    Type: Grant
    Filed: June 14, 2013
    Date of Patent: April 26, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Horia C. Simionescu, James Yu, Robert L. Sheffield
  • Patent number: 9286136
    Abstract: A region lock (RL) method and system for ensuring data integrity is disclosed. The method and system in accordance with the present disclosure works in conjunction with a balanced-tree based RL scheme. By eliminating steps and checks that in most cases are unnecessary, the relatively high overhead associated with the balanced-tree based RL scheme may be reduced. For instance, the solution in accordance with the present disclosure may utilize a hash table to determine whether RL overlap checks may be bypassed for certain I/O commands. Since the new solution requires very little processing, therefore by reducing unnecessary RL overlap checks, RL overhead may be dramatically reduced and may lead to significant increases in overall system performance.
    Type: Grant
    Filed: May 21, 2012
    Date of Patent: March 15, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Horia C. Simionescu, Timothy E. Hoglund, Robert L. Sheffield
  • Patent number: 9268695
    Abstract: Methods and structure within a storage controller for using region locks to efficiently divert an I/O request received from an attached host system to one of multiple processing stacks in the controller. A region lock module within the controller allows each processing stack to request a region lock for a range of block addresses of the storage devices. A divert-type lock request may be established to identify a range of block addresses for which I/O requests should be diverted to a particular one of the multiple processing stacks.
    Type: Grant
    Filed: December 12, 2012
    Date of Patent: February 23, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Adam Weiner, Robert L. Sheffield, Jr., Naveen Krishnamurthy, Kapil Sundrani, Rajeev Srinivasa Murthy, Anand Narayanamurthy, Horia Cristian Simionescu, James A. Rizzo
  • Publication number: 20160034186
    Abstract: Methods and structure for host-side device drivers for Redundant Array of Independent Disks (RAID) systems. One system includes a processor and memory of a host, which implement a device driver. The device driver receives an Input/Output (I/O) request from an Operating System (OS) of the host, translates Logical Block Addresses (LBAs) from the received request into physical addresses at multiple storage devices, generates child I/O requests directed to the physical addresses based on the received request, and accesses an address lock system at a RAID controller to determine whether the physical addresses are accessible. If the physical addresses are accessible, the device driver reserves the physical addresses by updating the address lock system, and directs the child I/O requests to a hardware path at the RAID controller for handling single-strip I/O requests. If the physical addresses are not accessible, the device driver delays processing of the child I/O requests.
    Type: Application
    Filed: July 30, 2014
    Publication date: February 4, 2016
    Applicant: LSI CORPORATION
    Inventors: Adam Weiner, James A Rizzo, Mark Ish, Robert L Sheffield, Horia Cristian Simionescu
  • Patent number: 9250832
    Abstract: A storage controller system is provided for the monitoring of fast path processing of I/Os to a storage device where the storage controller system allows for processing of I/Os to be monitored through the use of counters in a storage controller based upon the type of I/O issued to the storage controller as well as the conditions associated with the I/O, while providing a bitmap and associated divert bits and counters to monitor the processing of the I/Os in the storage controller. Methods for monitoring the processing of I/Os issued to the storage controller are also provided where the processing of the I/Os is based upon the type fast path I/Os issued to the storage controller and the conditions associated with the issued I/Os while providing a bitmap and associated divert bits and counters to monitor the processing of the I/Os in the storage controller, are also disclosed.
    Type: Grant
    Filed: May 21, 2014
    Date of Patent: February 2, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Robert L. Sheffield, Gerald E. Smith
  • Publication number: 20150134855
    Abstract: A controller includes a virtual memory mapped to device-side Peripheral component interconnect express address space includes virtual buffers allocation for each data transfer. Each virtual buffer is associated with a scatter/gather list entry in a host memory. The controller executes direct transfers between Peripheral component interconnect express devices and host memory without introducing address mapping dependencies between the host and device domains.
    Type: Application
    Filed: May 28, 2014
    Publication date: May 14, 2015
    Applicant: LSI Corporation
    Inventor: Robert L. Sheffield
  • Patent number: 9009375
    Abstract: A first I/O transaction request is sent to a storage controller for processing by firmware running on the storage controller. A second I/O transaction request is sent to storage hardware without further processing by the firmware running on the storage controller. Since the firmware did not process the second I/O transaction request, information associated with the second I/O transaction is stored in in a circular buffer accessible to the firmware running on the storage controller. The firmware running on the storage controller reads, from the circular buffer, the information associated with the second I/O transaction that was stored in the circular buffer.
    Type: Grant
    Filed: June 26, 2013
    Date of Patent: April 14, 2015
    Assignee: LSI Corporation
    Inventors: Gerald E. Smith, James A. Rizzo, Robert L. Sheffield, Anant Baderdinni
  • Publication number: 20150019818
    Abstract: The present disclosure is directed to a method for managing a cache based on a charge of a power source. The method includes the step of determining a charge of the power source at a first time instance. The method also includes the step of designating for write back cache an amount of data in the cache which can be offloaded from the cache based on the charge of the power source at the first time instance. The method also includes the step of designating as write through cache an amount of data remaining in the cache which was not designated as write back cache.
    Type: Application
    Filed: August 15, 2013
    Publication date: January 15, 2015
    Applicant: LSI Corporation
    Inventors: Naveen Krishnamurthy, Naresh Madhusudana, Robert L. Sheffield
  • Publication number: 20140365692
    Abstract: A first I/O transaction request is sent to a storage controller for processing by firmware running on the storage controller. A second I/O transaction request is sent to storage hardware without further processing by the firmware running on the storage controller. Since the firmware did not process the second I/O transaction request, information associated with the second I/O transaction is stored in in a circular buffer accessible to the firmware running on the storage controller. The firmware running on the storage controller reads, from the circular buffer, the information associated with the second I/O transaction that was stored in the circular buffer.
    Type: Application
    Filed: June 26, 2013
    Publication date: December 11, 2014
    Inventors: Gerald E. Smith, James A. Rizzo, Robert L. Sheffield, Anant Baderdinni
  • Publication number: 20140365736
    Abstract: Methods for managing region lock in a storage controller are disclosed. Upon receiving in a hardware based region lock management circuit a data request, the region lock management circuit determines a lock type of a region lock specified in the data request and conditionally creates a region lock data structure, wherein the region lock data structure is conditionally created based on the type of the region lock requested. The region lock management circuit further determines whether the data request is requesting access to at least a portion of a locked data region and the lock type of the locked data region. If the data request is requesting access to at least a portion of the locked data region and the lock type of the locked data region permits firmware diversion, the region lock management circuit diverts the data request to a storage controller firmware processor for further processing.
    Type: Application
    Filed: June 14, 2013
    Publication date: December 11, 2014
    Inventors: Horia C. Simionescu, James Yu, Robert L. Sheffield
  • Publication number: 20140359216
    Abstract: A storage controller system is provided for the monitoring of fast path processing of I/Os to a storage device where the storage controller system allows for processing of I/Os to be monitored through the use of counters in a storage controller based upon the type of I/O issued to the storage controller as well as the conditions associated with the I/O, while providing a bitmap and associated divert bits and counters to monitor the processing of the I/Os in the storage controller. Methods for monitoring the processing of I/Os issued to the storage controller are also provided where the processing of the I/Os is based upon the type fast path I/Os issued to the storage controller and the conditions associated with the issued I/Os while providing a bitmap and associated divert bits and counters to monitor the processing of the I/Os in the storage controller, are also disclosed.
    Type: Application
    Filed: May 21, 2014
    Publication date: December 4, 2014
    Applicant: LSI CORPORATION
    Inventors: Robert L. Sheffield, Gerald E. Smith
  • Patent number: 8880802
    Abstract: The present invention is directed to a command block protocol which may implemented by RAID firmware for synchronizing I/Os in a RAID system which includes co-existing hardware and software-based I/O paths. The command block protocol of the present disclosure ensures that there aren't any I/Os outstanding in the fast path or any other hardware engine by making sure that the region lock (ex.—Sentinel Region Lock) is taken for the entire size of the volume. When the Sentinel Region Lock is granted, the RAID firmware may assume that there aren't any commands outstanding in the fast path hardware or pending for the region lock to be obtained. The RAID firmware would not be able to maintain integrity of user data in the absence of the new command block protocol disclosed herein.
    Type: Grant
    Filed: August 18, 2011
    Date of Patent: November 4, 2014
    Assignee: LSI Corporation
    Inventors: Naveen Krishnamurthy, Robert L. Sheffield, Jr., Rajeev Srinivasa Murthy
  • Patent number: 8812901
    Abstract: Methods and apparatus for improved building of a hot spare storage device in a RAID storage system while avoiding reading of stale data from a failed storage device. In the recovery mode of the failed device, all data is write protected on the failed device. A RAID storage controller may copy as much readable data as possible from the failed device to the hot spare storage device. Unreadable data may be rebuilt using redundant information of the logical volume. Write requests directed to the failed device cause the addressed logical block address (LBA) to be marked as storing stale data. When a read request is directed to such a marked LBA, the read request returns an error status from the failed device to indicate that the data is stale. The RAID controller then rebuilds the now stale data for that LBA from redundant information of the logical volume.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: August 19, 2014
    Assignee: LSI Corporation
    Inventor: Robert L. Sheffield, Jr.
  • Publication number: 20140164715
    Abstract: Methods and structure within a storage controller for using region locks to efficiently divert an I/O request received from an attached host system to one of multiple processing stacks in the controller. A region lock module within the controller allows each processing stack to request a region lock for a range of block addresses of the storage devices. A divert-type lock request may be established to identify a range of block addresses for which I/O requests should be diverted to a particular one of the multiple processing stacks.
    Type: Application
    Filed: December 12, 2012
    Publication date: June 12, 2014
    Applicant: LSI Corporation
    Inventors: Adam Weiner, Robert L. Sheffield, JR., Naveen Krishnamurthy, Kapil Sundrani, Rajeev Srinivasa Murthy, Anand Narayanamurthy, Horia Cristian Simionescu, James A. Rizzo
  • 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: 8583840
    Abstract: Methods and structure are disclosed for improved processing of fast path I/O requests in a storage controller utilizing version information embedded in the fast path I/O requests. The version information allows the storage controller to determine if the mapping information utilized by the host system in generating a fast path I/O request specifies the mapping information utilized by the storage controller. The controller comprises a fast path I/O request processing circuit tightly coupled with host system drivers for fast processing of requests directed to storage devices of a logical volume. The controller also comprises a logical volume I/O processing software stack for processing I/O requests from a host system directed to a logical volume. If the mapping information utilized by the host does not match the mapping information utilized by the storage controller, fast path I/O requests are transferred to the I/O request processing stack for subsequent processing.
    Type: Grant
    Filed: April 25, 2012
    Date of Patent: November 12, 2013
    Assignee: LSI Corporation
    Inventors: James A. Rizzo, Robert L. Sheffield, Jr., Rajeev Srinivasa Murthy, Naveen Krishnamurthy
  • Publication number: 20130290571
    Abstract: Methods and structure are disclosed for improved processing of fast path I/O requests in a storage controller utilizing version information embedded in the fast path I/O requests. The version information allows the storage controller to determine if the mapping information utilized by the host system in generating a fast path I/O request specifies the mapping information utilized by the storage controller. The controller comprises a fast path I/O request processing circuit tightly coupled with host system drivers for fast processing of requests directed to storage devices of a logical volume. The controller also comprises a logical volume I/O processing software stack for processing I/O requests from a host system directed to a logical volume. If the mapping information utilized by the host does not match the mapping information utilized by the storage controller, fast path I/O requests are transferred to the I/O request processing stack for subsequent processing.
    Type: Application
    Filed: April 25, 2012
    Publication date: October 31, 2013
    Applicant: LSI CORPORATION
    Inventors: James A. Rizzo, Robert L. Sheffield, Rajeev Srinivasa Murthy, Naveen Krishnamurthy
  • Publication number: 20130080828
    Abstract: Methods and apparatus for improved building of a hot spare storage device in a RAID storage system while avoiding reading of stale data from a failed storage device. In the recovery mode of the failed device, all data is write protected on the failed device. A RAID storage controller may copy as much readable data as possible from the failed device to the hot spare storage device. Unreadable data may be rebuilt using redundant information of the logical volume. Write requests directed to the failed device cause the addressed logical block address (LBA) to be marked as storing stale data. When a read request is directed to such a marked LBA, the read request returns an error status from the failed device to indicate that the data is stale. The RAID controller then rebuilds the now stale data for that LBA from redundant information of the logical volume.
    Type: Application
    Filed: September 23, 2011
    Publication date: March 28, 2013
    Applicant: LSI CORPORATION
    Inventor: Robert L. Sheffield