Patents by Inventor Jose K. Manoj

Jose K. Manoj 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: 8347304
    Abstract: A method of resource allocation failure recovery is disclosed. The method generally includes steps (A) to (E). Step (A) may generate a plurality of resource requests from a plurality of driver modules to a manager module executed by a processor. Step (B) may generate a plurality of first calls from the manager module to a plurality of allocation modules in response to the resource requests. Step (C) may allocate a plurality of resources to the driver modules using the allocation modules in response to the first calls. Step (D) may allocate a portion of a memory pool to a particular recovery packet using the manager module in response to the allocation modules signaling a failed allocation of a particular one of the resources. Step (E) may recover from the failed allocation using the particular recovery packet.
    Type: Grant
    Filed: February 26, 2009
    Date of Patent: January 1, 2013
    Assignee: LSI Corporation
    Inventors: Jose K. Manoj, Chennakesava R. Arnoori, Atul Mukker
  • Patent number: 8176492
    Abstract: A program disposed on a computer readable medium, having a main program with a first routine for issuing commands in an asynchronous manner and a second routine for determining whether the commands have been completed in an asynchronous manner. An auxiliary program adapts the main program to behave in a synchronous manner, by receiving control from the first routine, waiting a specified period of time with a wait routine, passing control to the second routine to determine whether any of the commands have been completed during the specified period of time, receiving control back from the second routine, and determining whether all of the commands have been completed. When all of the commands have not been completed, then the auxiliary program passes control back to the wait routine. When all of the commands have been completed, then the auxiliary program ends.
    Type: Grant
    Filed: March 12, 2008
    Date of Patent: May 8, 2012
    Assignee: LSI Corporation
    Inventors: Jose K. Manoj, Atul Mukker
  • Patent number: 8041849
    Abstract: The present invention is a method for handling an operation system kernel-provided command via a software-based device driver. The method includes receiving the operation system kernel-provided command from an operation system kernel. The method further includes determining if a kernel virtual address is required for responding to the command. The method further includes initiating a Direct Memory Access (DMA) operation for providing data to the operating system kernel in response to the command when a kernel virtual address is not required for responding to the command. The method further includes allocating a device driver buffer with a DMA address and a virtual address when a kernel virtual address is required for responding to the command.
    Type: Grant
    Filed: July 2, 2008
    Date of Patent: October 18, 2011
    Assignee: LSI Corporation
    Inventors: Atul Mukker, Sreenivas Bagalkote, Jose K. Manoj
  • Patent number: 7853751
    Abstract: A method of improving a serial IO operation, where the serial IO operation includes at least one of a read operation of a data block and a write operation of a data block, and the serial IO operation is directed to a logical disk of a computerized data storage system. Only one stripe of data is read from the logical disk into a cache, and it is determined whether the data block for the IO operation is included within the cache. When the data block for the IO operation is included within the cache, then for a read operation, the IO operation is serviced from the cache. For a write operation, the cache is updated with the data block to be written, and only an updated parity block is written to the logical disk. When the data block for the IO operation is not included within the cache, then for a read operation, only one new stripe of data that includes the data block is read from the logical disk into the cache, and the IO operation is serviced from the cache.
    Type: Grant
    Filed: March 12, 2008
    Date of Patent: December 14, 2010
    Assignee: LSI Corporation
    Inventor: Jose K. Manoj
  • Publication number: 20100218193
    Abstract: A method of resource allocation failure recovery is disclosed. The method generally includes steps (A) to (E). Step (A) may generate a plurality of resource requests from a plurality of driver modules to a manager module executed by a processor. Step (B) may generate a plurality of first calls from the manager module to a plurality of allocation modules in response to the resource requests. Step (C) may allocate a plurality of resources to the driver modules using the allocation modules in response to the first calls. Step (D) may allocate a portion of a memory pool to a particular recovery packet using the manager module in response to the allocation modules signaling a failed allocation of a particular one of the resources. Step (E) may recover from the failed allocation using the particular recovery packet.
    Type: Application
    Filed: February 26, 2009
    Publication date: August 26, 2010
    Inventors: Jose K. Manoj, Chennakesava R. ARNOORI, Atul Mukker
  • Patent number: 7694171
    Abstract: A method for recovering errors on a multiple disk system. The method including the steps of (a) determining a location and type for one or more errors in a plurality of blocks on the multiple disk system, (B) determining a current error of the one or more errors that is closest to a start of the plurality of blocks, (C) recovering data for the current error using data read from drives other than the drive containing the current error and (D) determining whether any further errors are present on the drive that contained the current error.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: April 6, 2010
    Assignee: LSI Corporation
    Inventor: Jose K. Manoj
  • Publication number: 20100005482
    Abstract: The present invention is a method for handling an operating system kernel-provided command via a software-based device driver. The method includes receiving the operating system kernel-provided command from an operating system kernel. The method further includes determining if a kernel virtual address is required for responding to the command. The method further includes initiating a Direct Memory Access (DMA) operation for providing data to the operating system kernel in response to the command when a kernel virtual address is not required for responding to the command. The method further includes allocating a device driver buffer with a DMA address and a virtual address when a kernel virtual address is required for responding to the command.
    Type: Application
    Filed: July 2, 2008
    Publication date: January 7, 2010
    Inventors: Atul Mukker, Sreenivas Bagalkote, Jose K. Manoj
  • Publication number: 20090249111
    Abstract: A method of reading desired data from drives in a RAID1 data storage system, by determining a starting address of the desired data, designating the starting address as a begin read address, designating one of the drives in the data storage system as the current drive, and iteratively repeating the following steps until all of the desired data has been copied to a buffer: (1) reading the desired data from the current drive starting at the begin read address and copying the desired data from the current drive into the buffer until an error is encountered, which error indicates corrupted data, (2) determining an error address of the error, (3) designating the error address as the begin read address, and (4) designating another of the drives in the data storage system as the current drive.
    Type: Application
    Filed: March 26, 2008
    Publication date: October 1, 2009
    Applicant: LSI CORPORATION
    Inventors: Jose K. Manoj, Atul Mukker, Sreenivas Bagalkote
  • Publication number: 20090235259
    Abstract: A program disposed on a computer readable medium, having a main program with a first routine for issuing commands in an asynchronous manner and a second routine for determining whether the commands have been completed in an asynchronous manner. An auxiliary program adapts the main program to behave in a synchronous manner, by receiving control from the first routine, waiting a specified period of time with a wait routine, passing control to the second routine to determine whether any of the commands have been completed during the specified period of time, receiving control back from the second routine, and determining whether all of the commands have been completed. When all of the commands have not been completed, then the auxiliary program passes control back to the wait routine. When all of the commands have been completed, then the auxiliary program ends.
    Type: Application
    Filed: March 12, 2008
    Publication date: September 17, 2009
    Applicant: LSI CORPORATION
    Inventors: Jose K. Manoj, Atul Mukker
  • Publication number: 20090235023
    Abstract: A method of improving a serial IO operation, where the serial IO operation includes at least one of a read operation of a data block and a write operation of a data block, and the serial IO operation is directed to a logical disk of a computerized data storage system. Only one stripe of data is read from the logical disk into a cache, and it is determined whether the data block for the IO operation is included within the cache. When the data block for the IO operation is included within the cache, then for a read operation, the IO operation is serviced from the cache. For a write operation, the cache is updated with the data block to be written, and only an updated parity block is written to the logical disk. When the data block for the IO operation is not included within the cache, then for a read operation, only one new stripe of data that includes the data block is read from the logical disk into the cache, and the IO operation is serviced from the cache.
    Type: Application
    Filed: March 12, 2008
    Publication date: September 17, 2009
    Applicant: LSI CORPORATION
    Inventor: Jose K. Manoj
  • Publication number: 20090198885
    Abstract: Systems and methods for coalescing host generated write requests in a RAID software driver module to generate full stripe write I/O operations to storage devices. Where RAID management is implemented exclusively in software features and aspects hereof improve performance by using full stripe write operations instead of slower read-modify-write operations. The features and aspects may be implemented for example within a software RAID driver module coupled to a plurality of storage devices in a storage system devoid of RAID specific hardware and circuits.
    Type: Application
    Filed: February 4, 2008
    Publication date: August 6, 2009
    Inventor: Jose K. Manoj
  • Patent number: 7500052
    Abstract: An apparatus comprising a disk array and a controller. The disk array may be configured to send and receive data from the controller. The disk array generally comprises a plurality of disk drives each configured to store a drive signature. The controller may be configured to (i) receive a data signal and one or more address signals and (ii) present data to the disk array.
    Type: Grant
    Filed: December 16, 2004
    Date of Patent: March 3, 2009
    Assignee: LSI Corporation
    Inventor: Jose K. Manoj
  • Patent number: 7398416
    Abstract: A method for responding to a particular drive being removed from a drive array, comprising the steps of (A) determining a maximum drive response time of the particular drive being removed from the drive array; (B) determining a duration of each of one or more commands needing completion; (C) if a particular one of the commands takes longer than the maximum drive response time, aborting the particular command and checking if the drive is physically present; and (D) if the command takes less than the maximum drive response time, completing the command.
    Type: Grant
    Filed: February 2, 2005
    Date of Patent: July 8, 2008
    Assignee: LSI Corporation
    Inventor: Jose K. Manoj
  • Publication number: 20080133969
    Abstract: A method for recovering errors on a multiple disk system. The method including the steps of (a) determining a location and type for one or more errors in a plurality of blocks on the multiple disk system, (B) determining a current error of the one or more errors that is closest to a start of the plurality of blocks, (C) recovering data for the current error using data read from drives other than the drive containing the current error and (D) determining whether any further errors are present on the drive that contained the current error.
    Type: Application
    Filed: November 30, 2006
    Publication date: June 5, 2008
    Inventor: Jose K. Manoj