Patents by Inventor John R. Oberly, III

John R. Oberly, III 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).

  • Publication number: 20150058597
    Abstract: A computing device may split a translation table used when performing a DMA operation into two different translation tables. To split the translation table, the computing device may update the registers in the IOMMU to include pointers to the two different translation tables. For example, the IOMMU may update one register to point to the same starting address as the original translation table but assign a shorter length (i.e., fewer entries) to that table. The extra entries may then be used to form the other translation table by adding a new pointer to one of the IOMMU registers. The two translation tables may be owned by the same service provider or two different service providers. Alternatively, the computing device may assign the two tables to the same service provider which in turn assigns the tables to respective client devices executed by the service provider.
    Type: Application
    Filed: October 18, 2013
    Publication date: February 26, 2015
    Applicant: International Business Machines Corporation
    Inventors: Justin K. KING, John R. OBERLY, III, Travis J. PIZEL
  • Publication number: 20150058594
    Abstract: A computing device may split a translation table used when performing a DMA operation into two different translation tables. To split the translation table, the computing device may update the registers in the IOMMU to include pointers to the two different translation tables. For example, the IOMMU may update one register to point to the same starting address as the original translation table but assign a shorter length (i.e., fewer entries) to that table. The extra entries may then be used to form the other translation table by adding a new pointer to one of the IOMMU registers. The two translation tables may be owned by the same service provider or two different service providers. Alternatively, the computing device may assign the two tables to the same service provider which in turn assigns the tables to respective client devices executed by the service provider.
    Type: Application
    Filed: August 22, 2013
    Publication date: February 26, 2015
    Applicant: International Business Machines Corporation
    Inventors: Justin K. KING, John R. OBERLY, III, Travis J. PIZEL
  • Publication number: 20140372794
    Abstract: A method, system and computer program product are provided for implementing concurrent adapter driver maintenance and recovery for a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system. An adapter driver at start up time performs configuration of the adapter and each of a set of virtual functions (VFs). The adapter driver writes critical adapter and VF configuration data to a scratchpad buffer. When device driver maintenance is needed, such as to load updated adapter driver firmware, all VF drivers are held off temporarily, current adapter driver is detached, and then the adapter driver is reloaded with the updated driver firmware. Then the adapter driver is restarted with the updated adapter driver firmware, and performs a reinitialization process. The adapter driver performs adapter and VF configuration restoring existing configuration using values read from the scratchpad buffer.
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Charles S. Graham, John R. Oberly, III, Timothy J. Schimke
  • Publication number: 20140372795
    Abstract: A method, system and computer program product are provided for implementing distributed debug data collection and analysis for a hardware I/O adapter, such as, a Single Root Input/Output Virtualization (SRIOV) adapter in a virtualized system. A predetermined event triggers a base error collection sequence. Adapter driver data is collected and virtual function (VF) device drivers are locked out responsive to triggering the base error collection sequence. Adapter debug data is collected and the adapter is reinitialized including an indication to VF drivers if VF error data is to be collected. The virtual function (VF) device drivers are unlocked allowing the VF device drivers to commence recovery of a respective virtual function (VF).
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Charles S. Graham, Robert J. Manulik, John R. Oberly, III, Timothy J. Schimke
  • Publication number: 20140372739
    Abstract: A method, system and computer program product are provided for implementing concurrent adapter firmware update of a Single Root Input/Output Virtualization (SRIOV) adapter in a virtualized system. An adapter driver is used to update adapter firmware concurrent with normal I/O operations. When configuration is stored in a scratchpad buffer, the adapter driver detects virtual functions (VFs) configured and operating. An enhanced error handling (EEH) process is initiated, freezing the VFs, and an updated adapter firmware image is loaded to the adapter. The adapter driver completes the EEH recovery, the adapter is restarted using the new updated adapter firmware. The VFs device drivers unfreeze the VFs, and complete the EEH recovery.
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Jesse P. Arroyo, James A. Donnelly, Charles S. Graham, John R. Oberly, III, Timothy J. Schimke
  • Publication number: 20140372638
    Abstract: A method, system and computer program product are provided for implementing capacity and user-based resource allocation for a hardware I/O adapter, such as, a Single Root Input/Output Virtualization (SRIOV) adapter in a virtualized system. Configuring a virtual function (VF) is provided by supplying a capacity value of a port. The capacity value represents a percentage of the available performance of the port. The adapter driver configures multiple adapter parameters to provide the available performance for the port. A user is enabled to specify a level of performance assigned to each protocol of the port.
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Gary D. Anderson, Charles S. Graham, John R. Oberly, III, Timothy J. Schimke
  • Publication number: 20140372801
    Abstract: A method, system and computer program product are provided for implementing shared adapter configuration updates concurrent with maintenance actions for a Single Root Input/Output Virtualization (SRIOV) adapter in a computer system. A configuration of the adapter is decoupled from the state of the adapter during a recovery period. When a configuration request is received, the configuration request is validated. Responsive to a valid configuration request, the saved configuration state of the adapter is updated. Once the adapter completes recovery, the adapter is restored to the new configuration instead of the configuration prior to failure.
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Charles S. Graham, John R. Oberly, III, Timothy J. Schimke
  • Publication number: 20140372789
    Abstract: A method, system and computer program product are provided for implementing enhanced error handling for a hardware I/O adapter, such as a Single Root Input/Output Virtualization (SRIOV) adapter, in a virtualized system. The hardware I/O adapter is partitioned into multiple endpoints, with each Partitionable Endpoint (PE) corresponding to a function, and there is an adapter PE associated with the entire adapter. The endpoints are managed both independently for actions limited in scope to a single function, and as a group for actions with the scope of the adapter. An error or failure of the adapter PE freezes the adapter PE and propagates to the VF PEs associated with the adapter, causing the VF PEs to be frozen. An adapter driver and VF device drivers are informed of the error, and start recovery. The hypervisor locks out the VF device drivers at key points enabling adapter recovery to successfully complete.
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventors: Jesse P. Arroyo, Charles S. Graham, John R. Oberly, III, Timothy J. Schimke
  • Patent number: 8862739
    Abstract: A method of assigning resources to an input/output adapter having multiple ports may include determining a first port of the input/output adapter that includes a first bandwidth availability. A first number of resources assigned to the first port may be modified. The method may further include comparing a total count of resources assigned the ports to a maximum number of resources, where the total count includes the modified first number of resources. At least a portion of the modified first number of resources to the first port may be allocated to the first port.
    Type: Grant
    Filed: January 11, 2011
    Date of Patent: October 14, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, John R. Oberly, III
  • Patent number: 8832401
    Abstract: A method of managing memory may include selecting an object of a memory heap to be de-allocated and initiating a deferred lock configured to delay de-allocation of the object. The deferred lock may be acquired in response to a thread leaving a computing space, and the object may be de-allocated.
    Type: Grant
    Filed: January 26, 2011
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: John R. Oberly, III, Timothy J. Torzewski
  • Patent number: 8825981
    Abstract: A method of configuring system memory may include determining a plurality of memory regions supportable on an input/output adapter. The input/output adapter may include a physical function. A memory region of the plurality of memory regions may be allocated to the physical function when an address of the physical function is unknown. The method may further include determining the address of the physical function and associating the address of the physical function with the memory region.
    Type: Grant
    Filed: January 25, 2011
    Date of Patent: September 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, John R. Oberly, III, Timothy J. Torzewski
  • Patent number: 8726276
    Abstract: A computer-implemented method may include selecting a first virtual function that is hosted by a hardware input/output adapter and identifying a first logical partition that is associated with the first virtual function. The computer-implemented method may include retrieving first data corresponding to the first virtual function from a table in response to determining that the first logical partition has initiated a shutdown operation. The computer-implemented method may also include creating a first reset virtual function structure that includes at least a portion of the first data. The computer-implemented method may include sending the first reset virtual function structure to a dispatchable hypervisor.
    Type: Grant
    Filed: January 26, 2011
    Date of Patent: May 13, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, John R. Oberly, III
  • Patent number: 8645755
    Abstract: Error handling is simplified for a self-virtualizing IO resource that utilizes a physical function adjunct partition for a physical function in the self-virtualizing IO resource to coordinate error recovery for the self-virtualizing IO resource, by restarting each virtual function adjunct partition associated with that physical function to avoid the need to coordinate error recovery within the logical partitions to which such virtual function adjunct partitions are assigned.
    Type: Grant
    Filed: December 15, 2010
    Date of Patent: February 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, Charles S. Graham, Andrew T. Koch, Adam C. Lange-Pearson, Kyle A. Lucke, Gregory M. Nordstrom, John R. Oberly, III
  • Patent number: 8527666
    Abstract: A computer implemented method includes receiving a request to access a configuration space that is associated with a virtual function. The request may include a configuration space address and a root complex identifier. The computer implemented method may include identifying a root complex based on the root complex identifier. The computer implemented method may also include selecting a slot that is associated with the root complex. The slot may be capable of coupling a hardware input/output adapter to the root complex. The computer implemented method may further include determining whether the configuration space address is associated with the selected slot. The computer implemented method may include accessing the configuration space using an access mechanism in response to determining that the configuration space address is associated with the selected slot.
    Type: Grant
    Filed: February 21, 2011
    Date of Patent: September 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, John R. Oberly, III
  • Publication number: 20130159686
    Abstract: A method of managing an adapter includes identifying a firmware image configured to enable configuration firmware of a logical partition, where the firmware image is associated an expansion read-only memory (ROM). Access to the firmware image may be enabled by the logical partition, and the firmware image may be used to control of an operation of the adapter.
    Type: Application
    Filed: December 16, 2011
    Publication date: June 20, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles S. Graham, Gregory M. Nordstrom, John R. Oberly, III
  • Publication number: 20130160002
    Abstract: A computer implemented method of managing an adapter includes enabling an adapter to be shared by operating systems and logical partitions. The adapter includes a plurality of multiple virtual functions. A virtualization intermediary may assign a virtual function of the plurality of virtual functions to at least one of an operating system and a logical partition. The virtual function may be used to modify an operational status of the adapter.
    Type: Application
    Filed: December 16, 2011
    Publication date: June 20, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles S. Graham, Gregory M. Nordstrom, John R. Oberly, III
  • Publication number: 20130160001
    Abstract: A computer implemented method of managing an adapter includes determining that an adapter is assigned to an operating system and generating a single root input/output virtualization (SR-IOV) function associated with the adapter. The SR-IOV function may be correlated to a non-SR-IOV function, and the non-SR-IOV function may be used to modify an operational status of the adapter.
    Type: Application
    Filed: December 16, 2011
    Publication date: June 20, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles S. Graham, Gregory M. Nordstrom, John R. Oberly, III
  • Publication number: 20130159572
    Abstract: A computer system includes an adapter, a processor, and a memory storing program code, the program code executable by the processor to determine the adapter is single root input/output virtualization (SR-IOV) capable, to determine that an operating system is capable of using the adapter in SR-IOV mode, to configure the adapter in SR-IOV mode by generating an SR-IOV function associated with the adapter, and to assign control of the SR-IOV function to the operating system.
    Type: Application
    Filed: December 16, 2011
    Publication date: June 20, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles S. Graham, Gregory M. Nordstrom, John R. Oberly, III
  • Patent number: 8468276
    Abstract: A computer-implemented method includes initializing a driver associated with an input/output adapter in response to receiving an initialize driver request from a client application. The computer-implemented method includes initializing the input/output adapter to enable adapter capabilities of the input/output adapter to be determined. The computer-implemented method also includes determining the adapter capabilities of the input/output adapter. The computer-implemented method further includes determining slot capabilities of a slot associated with the input/output adapter. The computer-implemented method also includes setting configurable capabilities of the input/output adapter based on the adapter capabilities and the slot capabilities.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: June 18, 2013
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, John R. Oberly, III
  • Patent number: 8447891
    Abstract: A computer-implemented method may include determining a number of virtual functions that each port of a hardware input/output adapter is capable of supporting. The computer-implemented method may include assigning a first portion of internal resources of the hardware input/output adapter to each port of the hardware input/output adapter. The computer-implemented method may also include, for a particular port of the hardware input/output adapter, assigning a second portion of the internal resources to each virtual function that the particular port is capable of supporting. The second portion of the internal resources may be a subset of the first portion of the internal resources. The computer-implemented method may further include configuring a virtual function prior to a runtime to use the assigned second portion of the internal resources.
    Type: Grant
    Filed: January 11, 2011
    Date of Patent: May 21, 2013
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, Charles S. Graham, Kyle A. Lucke, John R. Oberly, III