Patents by Inventor James A. Rizzo

James A. Rizzo 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: 9052829
    Abstract: Methods and structure for improved shipping of I/O requests among multiple storage controllers of a clustered storage system. Minimal processing of a received I/O request is performed in a first controller to determine whether the I/O request is directed to a logical volume that is owned by the first controller or to a logical volume owned by another controller. For requests to logical volumes owned by another controller, the original I/O request is modified to indicate the target device address of the other controller. The first controller then ships the request to the other controller and configures DMA capabilities of the first controller to exchange data associated with the shipped request between the other controller and memory of the host system.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: June 9, 2015
    Assignee: Avago Technologies General IP Singapore) Pte Ltd
    Inventors: James A. Rizzo, Vinu Velayudhan, Adam Weiner, Basavaraj G. Hallyal, Gerald E. Smith
  • Publication number: 20150113312
    Abstract: Aspects of the disclosure pertain to a system and method for detecting server removal from a cluster to enable fast failover of storage (e.g., logical volumes). A method of operation of a storage controller of a cluster is disclosed. The method includes receiving a signal. The method further includes, based upon the received signal, determining that communicative connection between a second storage controller of the cluster and the first storage controller of cluster is unable to be established. The method further includes determining whether communicative connection between the first storage controller and expanders of first and second enclosure services manager modules of the cluster is able to be established. The method further includes, when it is determined that communicative connection between the first storage controller and the expanders of the first and second enclosure services manager modules of the cluster is able to be established, performing a failover process.
    Type: Application
    Filed: October 21, 2013
    Publication date: April 23, 2015
    Applicant: LSI Corporation
    Inventors: Vinu Velayudhan, James A. Rizzo, Adam Weiner
  • 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
  • Patent number: 8996748
    Abstract: A storage system and method for preventing propagation of link reset among initiators in the storage system is disclosed. The method includes issuing a link reset command by the initiator, and entering the initiator into a back-off period immediately following the issuing of the link reset command. The initiator remains idle for the entire duration of the back-off period and resumes its operations at the end of the back-off period.
    Type: Grant
    Filed: January 28, 2014
    Date of Patent: March 31, 2015
    Assignee: LSI Corporation
    Inventors: Naman Nair, Brad D. Besmer, Peter C. Rivera, James Rizzo
  • Patent number: 8984222
    Abstract: Methods and structure for task management in storage controllers of a clustered storage system. An initiator storage controller of the clustered storage system ships I/O requests for processing to a target storage controller of the system. Responsive to a need to abort a previously shipped I/O request, the initiator storage controller transmits a task management message to the target storage controller. The task management message identifies one or more previously shipped I/O requests to be aborted. The target storage controller processes the received task management message in due course of processing requests and completes processing for the aborted previously shipped request in an orderly manner. Resources associated with the aborted previously shipped requests are release within both controllers.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: March 17, 2015
    Assignee: LSI Corporation
    Inventors: Rakesh Chandra, James A. Rizzo, Vinu Velayudhan, Senthil M. Thangaraj, Sumant K. Patro
  • Publication number: 20150012699
    Abstract: Aspects of the disclosure pertain to a system and method for versioning cache for a clustered topology. In the clustered topology, a first controller mirrors write data from a cache of the first controller to a cache of the second controller. When communication between controllers of the topology is disrupted (e.g., when the second controller goes offline, while the first controller stays online), the first controller increments a cache version number stored in a disk data format of a logical disk, the logical disk being owned by the first controller and associated with the write data. The incremented cache version number provides an indication to the second controller that the data of the cache of the second controller is stale.
    Type: Application
    Filed: July 11, 2013
    Publication date: January 8, 2015
    Inventors: James A. Rizzo, Rajsekhar Chundru, Vinu Velayudhan, Adam Weiner
  • 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
  • Patent number: 8898385
    Abstract: Methods and structure for load balancing of background tasks between storage controllers are provided. An exemplary active storage controller comprises a front-end interface that receives host Input/Output (I/O) requests directed to a logical volume, a back-end interface that couples with one or more of storage devices provisioning the logical volume, and a control unit. The control unit processes the host I/O requests directed to the logical volume, identifies a background processing task distinct from the host I/O requests and related to the logical volume, and assigns the background processing task to a passive storage controller for processing.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: November 25, 2014
    Assignee: LSI Corporation
    Inventors: Raja Jayaraman, James A. Rizzo, Rakesh Chandra, Vinu Velayudhan, Phillip V. Nguyen
  • Patent number: 8839030
    Abstract: Methods and structure for resuming background tasks in a storage environment. storage controller. The system is operable to receive host Input/Output (I/O) requests directed to a logical volume, and to couple with one or more of storage devices provisioning the logical volume. The system is further operable to process the host I/O requests directed to the logical volume, to initiate a background processing task distinct from the host I/O requests and related to the logical volume, and to store progress information on at least one of the one or more storage devices describing progress of the background processing task.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: September 16, 2014
    Assignee: LSI Corporation
    Inventors: Guolin Huang, James A. Rizzo, Vinu Velayudhan, Sumant K. Patro
  • Patent number: 8806124
    Abstract: Methods and systems for transferring ownership of a logical volume in a storage system comprising multiple storage controllers is provided. According to the method, the storage controllers are coupled for communication with a logical volume, wherein at least one storage device coupled with the storage controllers implements the logical volume. The method comprises identifying, at a first storage controller, a second storage controller to receive the logical volume. The method also comprises initiating a transfer of ownership of the logical volume from the first storage controller to the second storage controller by transferring metadata stored in a memory of the first storage controller to the second storage controller, the metadata existing in a native format that describes the configuration of the logical volume on the at least one storage device.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: August 12, 2014
    Assignee: LSI Corporation
    Inventors: Vinu Velayudhan, James A. Rizzo, Basavaraj G. Hallyal, Guolin Huang, Sumant K. Patro
  • Patent number: 8793443
    Abstract: Methods and structure for improved buffer management in a storage controller. A plurality of processes in the controller each transmits buffer management requests to buffer management control logic. A plurality of reserved portions and a remaining non-reserved portion are defined in a shared pool memory managed by the buffer management control logic. Each reserved portion is defined as a corresponding minimum amount of memory of the shared pool. Each reserved portion is associated with a private pool identifier. Each allocation request from a client process supplies a private pool identifier for the associated buffer to be allocated. The buffer is allocated from the reserved portion if there sufficient available space in the reserved portion identified by the supplied private pool identifier. Otherwise, the buffer is allocated if sufficient memory is available in the non-reserved portion. Otherwise the request is queued for later re-processing.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: July 29, 2014
    Assignee: LSI Corporation
    Inventors: James A. Rizzo, Vinu Velayudhan, Adam Weiner, Rakesh Chandra, Phillip V. Nguyen
  • Publication number: 20140195718
    Abstract: A redundant array of independent drives controller and board controlled cache off-loading during a power failure is described. Methods associated with the use of the redundant array of independent drives controller and board for controlled cache off-loading during a power failure are also described.
    Type: Application
    Filed: January 7, 2013
    Publication date: July 10, 2014
    Applicant: LSI CORPORATION
    Inventors: Moby J. Abraham, Lakshmana M. Anupindi, R. Brian B. Skinner, James A. Rizzo, Mark J. Jander
  • 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: 8751741
    Abstract: Methods and system are provided for exposing logical volumes to host systems and storage controllers in a consistent manner across a clustered storage system. One embodiment is a storage controller. The storage controller is operable to communicate with other storage controllers within the clustered storage system. The storage controller is further operable to generate a proposed Logical Unit Number (LUN) for a logical volume provisioned at the storage devices, and to communicate with each of the other storage controllers within the clustered storage system requesting that the other storage controllers determine if the proposed LUN is in use. If the proposed LUN is not in use, then storage controller assigns the proposed LUN to the logical volume. If the LUN is in use, then the storage controller generates a new proposed LUN and re-tries communication with the other storage controllers until a unique LUN is found.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: June 10, 2014
    Assignee: LSI Corporation
    Inventors: Vinu Velayudhan, James A. Rizzo, Adam Weiner, Rakesh Chandra, Guolin Huang
  • Patent number: 8621603
    Abstract: Methods and system for implementing a clustered storage solution are provided. One embodiment is a storage controller that communicatively couples a host system with a storage device. The storage controller comprises an interface and a control unit. The interface is operable to communicate with the storage device. The control unit is operable to identify ownership information for a storage device, and to determine if the storage controller is authorized to access the storage device based on the ownership information. The storage controller is operable to indicate the existence of the storage device to the host system if the storage controller is authorized, and operable to hide the existence of the storage device from the host system if the storage controller is not authorized.
    Type: Grant
    Filed: March 28, 2012
    Date of Patent: December 31, 2013
    Assignee: LSI Corporation
    Inventors: James A. Rizzo, Basavaraj G. Hallyal, Gerald E. Smith, Adam Weiner, Vinu Velayudhan
  • 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: 20130254457
    Abstract: Methods and structure for rapid offloading of cached data in a volatile cache memory of a storage controller to a nonvolatile memory. Features and aspects hereof provide an enhanced storage controller having a volatile cache memory and multiple communication channels each coupled with a corresponding nonvolatile memory device. Responsive to detecting an impending loss of power, control logic of the controller copies data from the volatile cache memory to the multiple nonvolatile memories using the multiple communication channels operating substantially in parallel. Using multiple parallel channels and nonvolatile memory substantially temporally overlapping their operations assures that the cached data can be saved to nonvolatile memory before the controller is inoperable due to power loss. A simple “file system” and error detection and correction codes on the nonvolatile memory help assure that the saved data is valid for return to the volatile memory when power is restored to the controller.
    Type: Application
    Filed: March 21, 2012
    Publication date: September 26, 2013
    Applicant: LSI CORPORATION
    Inventors: Atul Mukker, James A. Rizzo, Moby J. Abraham
  • Publication number: 20130067161
    Abstract: Methods and structure for task management in storage controllers of a clustered storage system. An initiator storage controller of the clustered storage system ships I/O requests for processing to a target storage controller of the system. Responsive to a need to abort a previously shipped I/O request, the initiator storage controller transmits a task management message to the target storage controller. The task management message identifies one or more previously shipped I/O requests to be aborted. The target storage controller processes the received task management message in due course of processing requests and completes processing for the aborted previously shipped request in an orderly manner. Resources associated with the aborted previously shipped requests are release within both controllers.
    Type: Application
    Filed: March 28, 2012
    Publication date: March 14, 2013
    Applicants: LSI CORPORATION, LSI CORPORATION, LSI CORPORATION, LSI CORPORATION, LSI CORPORATION
    Inventors: Rakesh Chandra, James A. Rizzo, Vinu Velayudhan, Senthil M. Thangaraj, Sumant K. Patro
  • Publication number: 20130067125
    Abstract: Methods and structure for improved processing of fast path I/O requests in a clustered storage system. In a storage controller of a clustered storage system, 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 stack (typically implemented as programmed instructions) for processing I/O requests from a host system directed to a logical volume. Based on detecting a change of ownership of a device or volume and/or a change to logical to physical mapping of a logical volume, fast path I/O requests may be converted to logical volume requests based on mapping context information within the fast path I/O request and shipped within the clustered storage system for processing.
    Type: Application
    Filed: March 28, 2012
    Publication date: March 14, 2013
    Applicants: LSI CORPORATION, LSI CORPORATION
    Inventors: James A. Rizzo, Vinu Velayudhan, Adam Weiner, Gerald E. Smith