Patents by Inventor Atul Mukker
Atul Mukker 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: 9135101Abstract: Systems and methods presented herein provide for resetting a controller in a Single Root Input/Output Virtualization (SR-IOV) architecture. The architecture includes a physical function that periodically issues a heartbeat command to a physical function of an SR-IOV controller, starts a first timer, determines a firmware failure of the controller upon expiration of the first timer, and issues a command to reset the firmware of the controller. The architecture also includes a plurality of a virtual function drivers coupled to a plurality of virtual functions of the controller. Each virtual function driver periodically issues a heartbeat command to its corresponding virtual function, starts a second timer having a duration that is less than a duration of the first timer, determines a firmware failure of the controller upon expiration of the second timer, and pauses input/output operations to its corresponding virtual function until the firmware of the controller is reset.Type: GrantFiled: March 13, 2013Date of Patent: September 15, 2015Assignee: Avago Technologies General IP (Singapore) Pte LtdInventors: Rajesh Prabhakaran, Moby J. Abraham, Chennakesava Arnoori, Atul Mukker
-
Publication number: 20140250338Abstract: Systems and methods presented herein provide for resetting a controller in a Single Root Input/Output Virtualization (SR-IOV) architecture. The architecture includes a physical function that periodically issues a heartbeat command to a physical function of an SR-IOV controller, starts a first timer, determines a firmware failure of the controller upon expiration of the first timer, and issues a command to reset the firmware of the controller. The architecture also includes a plurality of a virtual function drivers coupled to a plurality of virtual functions of the controller. Each virtual function driver periodically issues a heartbeat command to its corresponding virtual function, starts a second timer having a duration that is less than a duration of the first timer, determines a firmware failure of the controller upon expiration of the second timer, and pauses input/output operations to its corresponding virtual function until the firmware of the controller is reset.Type: ApplicationFiled: March 13, 2013Publication date: September 4, 2014Applicant: LSI CORPORATIONInventors: Rajesh Prabhakaran, Moby J. Abraham, Chennakesava Arnoori, Atul Mukker
-
Publication number: 20130254457Abstract: 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: ApplicationFiled: March 21, 2012Publication date: September 26, 2013Applicant: LSI CORPORATIONInventors: Atul Mukker, James A. Rizzo, Moby J. Abraham
-
Patent number: 8533707Abstract: Methods and systems for device driver compilation dispensation of consumable compositions are provided. A method for compiling device drivers may include, but is not limited to: (a) installing a host OS on a compiler server; (b) installing a plurality of target OS on the compile server; (c) installing a dynamic kernel module support package (DKMS) on the compile server for at least one of the plurality of target OS; (d) compiling a driver module on the compile server for a first target OS of the plurality of target OS; and (e) compiling a driver module on the compile server for a second target OS of the plurality of OS.Type: GrantFiled: March 4, 2008Date of Patent: September 10, 2013Assignee: LSI CorporationInventors: Atul Mukker, Sreenivas Bagalkote
-
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: 8015439Abstract: The present invention is a method for handling disk drives in a Redundant Array of Inexpensive Disks (RAID) configuration. The method may include detecting a disk drive received via insertion of the disk drive in a disk drive slot of an enclosure of the RAID configuration. Prior to the disk drive being received, it may be that fewer than a maximum number of supported disk drives are configured. It may also be the case that, after the disk drive is received, no more than the maximum number of supported drives are in-place within the enclosure of the RAID configuration. In such instances, and when the insertion is a cold insertion into an empty disk drive slot, the method may further include marking the disk drive as Un-configured good alias Ready. Further, if the disk drive is inserted into a missing disk drive slot and has a smaller storage capacity than that of the replaced disk drive previously in place within the missing disk drive slot, the method may further include marking the disk drive as FAIL.Type: GrantFiled: February 19, 2008Date of Patent: September 6, 2011Assignee: LSI CorporationInventors: Atul Mukker, Charles E. Nichols, Daniel G Samuelraj
-
Patent number: 7921082Abstract: Methods and systems for recovering data utilize a command line interface of a data-processing system, run by an operating system such as Linux, Unix, DOS, Windows, Mac and the like, to recover and manage inadvertently deleted data. Desired data such as files, folders, and the like can be initially identified from a command line interface. The desired data can then be automatically saved in a memory location of the data-processing system, in response to identifying the desired data from the command line interface. The data can then be automatically recovered from the memory location of the data-processing system for display within the command line interface, if the desired data is inadvertently deleted. Additionally, a user can be permitted to specify a plurality of recycling rules presented through a graphical user interface dialog or other graphical user interface device.Type: GrantFiled: January 23, 2004Date of Patent: April 5, 2011Assignee: LSI CorporationInventor: Atul Mukker
-
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
-
Publication number: 20100138603Abstract: A system and method for preventing data corruption after power failure is described. The system may include a host server, a disk array, a journaling disk, and/or a RAID controller. A method for preventing data corruption after power failure may include receiving at least one of a read command or a write command, storing information on an array of disk drives at least partially based on receiving the at least one of a read command or a write command, and storing persistent information on a journaling drive.Type: ApplicationFiled: December 3, 2008Publication date: June 3, 2010Inventor: Atul Mukker
-
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: 20090228881Abstract: Methods and systems for device driver compilation dispensation of consumable compositions are provided. A method for administering a consumable composition may comprise: (a) installing a host OS on a compiler server; (b) installing a plurality of target OS on the compile server; (c) installing a dynamic kernel module support package (DKMS) on the compile server for at least one of the plurality of target OS; (d) compiling a driver module on the compile server for a first target OS of the plurality of target OS; and (e) compiling a driver module on the compile server for a second target OS of the plurality of OS.Type: ApplicationFiled: March 4, 2008Publication date: September 10, 2009Inventors: Atul Mukker, Sreenivas Bagalkote
-
Publication number: 20090210619Abstract: The present invention is a method for handling disk drives in a Redundant Array of Inexpensive Disks (RAID) configuration. The method may include detecting a disk drive received via insertion of the disk drive in a disk drive slot of an enclosure of the RAID configuration. Prior to the disk drive being received, it may be that fewer than a maximum number of supported disk drives are configured. It may also be the case that, after the disk drive is received, no more than the maximum number of supported drives are in-place within the enclosure of the RAID configuration. In such instances, and when the insertion is a cold insertion into an empty disk drive slot, the method may further include marking the disk drive as Un-configured good alias Ready. Further, if the disk drive is inserted into a missing disk drive slot and has a smaller storage capacity than that of the replaced disk drive previously in place within the missing disk drive slot, the method may further include marking the disk drive as FAIL.Type: ApplicationFiled: February 19, 2008Publication date: August 20, 2009Inventors: Atul Mukker, Charles E. Nichols, Daniel G. Samuelraj
-
Publication number: 20070067563Abstract: A system, apparatus and method for updating disk drive firmware is described. In one embodiment of the invention, the disk drive firmware is contained within a RAID environment. A flash mode is provided in which physical drives within the RAID are exposed to an operating system. The flash mode may limit the access and commands of the operating system to the drives in order to prevent errors such as read/write errors. During flash mode, the OS may flash a drive firmware in order to provide an update. Once the update is complete, flash mode is deactivated and the RAID returns to normal operation.Type: ApplicationFiled: September 19, 2005Publication date: March 22, 2007Inventors: Gerald Smith, Parag Maharana, Atul Mukker
-
Patent number: 7146463Abstract: Methods and associated structure to improve disk capacity utilization in the context of size coercion and COD space reservation techniques applied in a storage system. One aspect hereof provides that the size coercion computations to reduce (round down) the capacity of one or more disk drives in a storage system are performed prior to reservation of disk space for use in configuration-on-disk (COD) techniques. Performing coercion computations and configuration prior to COD space reservation prevents the COD reservation processing from causing un-necessary waste of physical capacity of the coerced disk drives.Type: GrantFiled: June 15, 2004Date of Patent: December 5, 2006Assignee: LSI Logic CorporationInventors: Atul Mukker, Anuj Kumar Jain, Hardy Doelfel
-
Publication number: 20050278484Abstract: Methods and associated structure to improve disk capacity utilization in the context of size coercion and COD space reservation techniques applied in a storage system. One aspect hereof provides that the size coercion computations to reduce (round down) the capacity of one or more disk drives in a storage system are performed prior to reservation of disk space for use in configuration-on-disk (COD) techniques. Performing coercion computations and configuration prior to COD space reservation prevents the COD reservation processing from causing un-necessary waste of physical capacity of the coerced disk drives.Type: ApplicationFiled: June 15, 2004Publication date: December 15, 2005Inventors: Atul Mukker, Anuj Jain, Hardy Doelfel
-
Publication number: 20050165863Abstract: Methods and systems for recovering data are disclosed herein. Desired data such as files, folders, and the like can be initially identified from a command line interface displayable within a display area of a data-processing system (e.g., a computer). The desired data can then be automatically saved in a memory location of the data-processing system, in response to identifying the desired data from the command line interface. The data can then be automatically recovered from the memory location of the data-processing system for display within the command line interface, if the desired data is inadvertently deleted.Type: ApplicationFiled: January 23, 2004Publication date: July 28, 2005Inventor: Atul Mukker