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: 9135101
    Abstract: 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: Grant
    Filed: March 13, 2013
    Date of Patent: September 15, 2015
    Assignee: Avago Technologies General IP (Singapore) Pte Ltd
    Inventors: Rajesh Prabhakaran, Moby J. Abraham, Chennakesava Arnoori, Atul Mukker
  • Publication number: 20140250338
    Abstract: 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: Application
    Filed: March 13, 2013
    Publication date: September 4, 2014
    Applicant: LSI CORPORATION
    Inventors: Rajesh Prabhakaran, Moby J. Abraham, Chennakesava Arnoori, Atul Mukker
  • 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
  • Patent number: 8533707
    Abstract: 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: Grant
    Filed: March 4, 2008
    Date of Patent: September 10, 2013
    Assignee: LSI Corporation
    Inventors: Atul Mukker, Sreenivas Bagalkote
  • 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: 8015439
    Abstract: 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: Grant
    Filed: February 19, 2008
    Date of Patent: September 6, 2011
    Assignee: LSI Corporation
    Inventors: Atul Mukker, Charles E. Nichols, Daniel G Samuelraj
  • Patent number: 7921082
    Abstract: 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: Grant
    Filed: January 23, 2004
    Date of Patent: April 5, 2011
    Assignee: LSI Corporation
    Inventor: Atul Mukker
  • 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
  • Publication number: 20100138603
    Abstract: 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: Application
    Filed: December 3, 2008
    Publication date: June 3, 2010
    Inventor: Atul Mukker
  • 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: 20090228881
    Abstract: 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: Application
    Filed: March 4, 2008
    Publication date: September 10, 2009
    Inventors: Atul Mukker, Sreenivas Bagalkote
  • Publication number: 20090210619
    Abstract: 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: Application
    Filed: February 19, 2008
    Publication date: August 20, 2009
    Inventors: Atul Mukker, Charles E. Nichols, Daniel G. Samuelraj
  • Publication number: 20070067563
    Abstract: 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: Application
    Filed: September 19, 2005
    Publication date: March 22, 2007
    Inventors: Gerald Smith, Parag Maharana, Atul Mukker
  • Patent number: 7146463
    Abstract: 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: Grant
    Filed: June 15, 2004
    Date of Patent: December 5, 2006
    Assignee: LSI Logic Corporation
    Inventors: Atul Mukker, Anuj Kumar Jain, Hardy Doelfel
  • Publication number: 20050278484
    Abstract: 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: Application
    Filed: June 15, 2004
    Publication date: December 15, 2005
    Inventors: Atul Mukker, Anuj Jain, Hardy Doelfel
  • Publication number: 20050165863
    Abstract: 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: Application
    Filed: January 23, 2004
    Publication date: July 28, 2005
    Inventor: Atul Mukker