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: 8347304Abstract: 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: GrantFiled: February 26, 2009Date of Patent: January 1, 2013Assignee: LSI CorporationInventors: Jose K. Manoj, Chennakesava R. Arnoori, Atul Mukker
-
Patent number: 8176492Abstract: 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: GrantFiled: March 12, 2008Date of Patent: May 8, 2012Assignee: LSI CorporationInventors: Jose K. Manoj, Atul Mukker
-
Patent number: 8041849Abstract: 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: GrantFiled: July 2, 2008Date of Patent: October 18, 2011Assignee: LSI CorporationInventors: Atul Mukker, Sreenivas Bagalkote, Jose K. Manoj
-
Patent number: 7853751Abstract: 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: GrantFiled: March 12, 2008Date of Patent: December 14, 2010Assignee: LSI CorporationInventor: Jose K. Manoj
-
Publication number: 20100218193Abstract: 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: ApplicationFiled: February 26, 2009Publication date: August 26, 2010Inventors: Jose K. Manoj, Chennakesava R. ARNOORI, Atul Mukker
-
Patent number: 7694171Abstract: 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: GrantFiled: November 30, 2006Date of Patent: April 6, 2010Assignee: LSI CorporationInventor: Jose K. Manoj
-
Publication number: 20100005482Abstract: 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: ApplicationFiled: July 2, 2008Publication date: January 7, 2010Inventors: Atul Mukker, Sreenivas Bagalkote, Jose K. Manoj
-
Publication number: 20090249111Abstract: 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: ApplicationFiled: March 26, 2008Publication date: October 1, 2009Applicant: LSI CORPORATIONInventors: Jose K. Manoj, Atul Mukker, Sreenivas Bagalkote
-
Publication number: 20090235259Abstract: 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: ApplicationFiled: March 12, 2008Publication date: September 17, 2009Applicant: LSI CORPORATIONInventors: Jose K. Manoj, Atul Mukker
-
Publication number: 20090235023Abstract: 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: ApplicationFiled: March 12, 2008Publication date: September 17, 2009Applicant: LSI CORPORATIONInventor: Jose K. Manoj
-
Publication number: 20090198885Abstract: 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: ApplicationFiled: February 4, 2008Publication date: August 6, 2009Inventor: Jose K. Manoj
-
Patent number: 7500052Abstract: 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: GrantFiled: December 16, 2004Date of Patent: March 3, 2009Assignee: LSI CorporationInventor: Jose K. Manoj
-
Patent number: 7398416Abstract: 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: GrantFiled: February 2, 2005Date of Patent: July 8, 2008Assignee: LSI CorporationInventor: Jose K. Manoj
-
Publication number: 20080133969Abstract: 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: ApplicationFiled: November 30, 2006Publication date: June 5, 2008Inventor: Jose K. Manoj