Patents by Inventor Steven Thurber

Steven Thurber 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: 20070260769
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed for managing DMA write page faults using a pool of substitute pages. The computer system's platform resolves a DMA write page fault for a page that is dedicated to an I/O adapter. The I/O adapter attempts to write DMA data to the page. A determination is made that the page is unavailable for writing. The DMA data is then written to data locations in a substitute page that was selected from the pool of substitute pages. A flag is then set in a flag location for each one of the data locations. The flag locations correspond to the data locations. When a flag is set, the flag indicates that DMA write data is present in the data location that corresponds to that flag's flag location.
    Type: Application
    Filed: March 28, 2006
    Publication date: November 8, 2007
    Inventors: Richard Arndt, Steven Thurber
  • Publication number: 20070260768
    Abstract: A mechanism for temporarily stalling selected Direct Memory Access (DMA) operations in a physical I/O adapter in order to permit migration of data between physical pages that are subject to access by the physical I/O adapter. When a request for a DMA to a physical page in system memory is received from an input/output adapter, a migration in progress (MIP) bit in a translation control entry (TCE) pointing to the physical page is examined, wherein the MIP bit indicates whether migration of the physical page referenced in the TCE to another location in system memory is currently in progress. If the MIP bit indicates a migration of the physical page is in progress, the DMA from the input/output adapter is temporarily stalled while other DMA operations from other input/output adapters to other physical pages in system memory are allowed to continue.
    Type: Application
    Filed: April 17, 2006
    Publication date: November 8, 2007
    Inventors: Carl Bender, Patrick Buckland, Steven Thurber, Adalberto Yanes
  • Publication number: 20070183393
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed in a data processing environment that includes host computer systems that are coupled to adapters utilizing a switched fabric for routing packets between the host computer systems and the adapters. A unique destination identifier is assigned to one of the host computer systems. A portion of a standard format packet destination address is selected. Within a particular packet, the portion is set equal to the unique identifier that is assigned to the host computer system. The particular packet is then routed through the fabric to the host computer system using the unique destination identifier.
    Type: Application
    Filed: February 7, 2006
    Publication date: August 9, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070186025
    Abstract: A computer-implemented method, apparatus, and computer usable program code are disclosed for migrating a virtual adapter from a source physical adapter to a destination physical adapter in a data processing system where multiple host computer systems share multiple adapters and communicate with those adapters through a PCI switched-fabric bus. The virtual adapter is first caused to stop processing transactions. All in-flight transactions that are associated with the virtual adapter are then captured. The configuration information that defines the virtual adapter is moved from the source physical adapter to the destination physical adapter. The in-flight transactions are then restored to their original locations on the destination virtual adapter. The virtual adapter is then restarted on the destination physical adapter such that the virtual adapter begins processing transactions.
    Type: Application
    Filed: February 9, 2006
    Publication date: August 9, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070174733
    Abstract: A computer-implemented method, apparatus, and computer program product are disclosed for routing error messages in a multiple host computer system environment to only those host computer systems that are affected by the error. The environment includes multiple host computer systems that share multiple devices utilizing a switched fabric. An error is detected in one of the devices. Routing tables that are stored in fabric devices in the fabric are used to identify ones of the host computer systems that are affected by the error. An error message that identifies the error is routed to only the identified ones of the host computer systems.
    Type: Application
    Filed: January 26, 2006
    Publication date: July 26, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070165596
    Abstract: A method is provided for creating and managing tables for routing packets through an environment that includes multiple hosts and shared PCI switches and adapters. A Destination Identification (DID) field in the PBA is appended to a transaction packet dispatched through the PCI switches, wherein a particular DID is associated with a particular host or system image, and thus identifies the physical or virtual end point of its packet. In one embodiment, packets are routed through PCI switches in a distributed computer system comprising multiple root nodes, wherein each root node includes one or more hosts. The embodiment includes the step of creating a table or like data structure in a specified one of the switches. When a particular host of one of the root nodes becomes connected to the specified switch, a PCI Configuration Master (PCM), residing in one of the root nodes, is operated to enter a destination identifier or DID into the table.
    Type: Application
    Filed: January 18, 2006
    Publication date: July 19, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070136458
    Abstract: A PCI control manager provides address translation protection tables in switches in a PCI fabric. The PCI control manager discovers the fabric and provides a virtual tree for each root complex. A system administrator may then remove endpoints that do not communicate with the root complex to configure the PCI fabric. The PCI control manager then provides updated ATPT tables to the switches. When a host or adapter is added, the master PCM goes through the discovery process and the ATPT tables and adapter routing tables are modified to reflect the change in configuration. The master PCM can query the ATPT tables and adapter routing tables to determine what is in the configuration. The master PCM can also destroy entries in the ATPT tables and adapter routing tables when a device is removed from the configuration and those entries are no longer valid.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070097948
    Abstract: System and method for managing routing of data in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A physical tree that is indicative of a physical configuration of the distributed computing system is determined, and a virtual tree is created from the physical tree. The virtual tree is then modified to change an association between at least one source device and at least one target device in the virtual tree. A validation mechanism validates the changed association between the at least one source device and the at least one target device to enable routing of data from the at least one source device to the at least one target device.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070097871
    Abstract: A method and apparatus is provided for routing error messages in a distributed computer system comprising multiple root nodes, and further comprising one or more PCI switches and one or more I/O adapters, wherein each root node includes one or more system images. In one useful embodiment, a method is provided for routing I/O error messages to root nodes respectively associated with the errors contained in the messages. The method includes detecting occurrence of an error at a specified one of the adapters, wherein the error affects one of the system images, and generating an error message at the specified adapter. The method further comprises routing the error message from the specified adapter to the particular root node that includes the affected system image. The error message is then selectively processed at the particular root node, in order to identify the affected system image.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070101016
    Abstract: In a distributed computer system having multiple root nodes, a challenge protocol is provided, for use in determining or confirming the root node in which a PCI Configuration Manager (PCM) actually resides. This node is referred to as the master node. The challenge procedure is activated whenever the identity of the PCM, which is determined by the root node in which it resides, appears to be uncertain. The challenge procedure resolves this uncertainty, and enables the PCM to continue to configure routings throughout the system. In a useful embodiment, a method is directed to a distributed computer system of the above type which is further provided with PCI switches and with adapters that are available for sharing by different nodes. The method includes the steps of selecting a first one of the root nodes to be master root node, and operating the first root node to query the configuration space of a particular one of the PCI switches.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070097949
    Abstract: A method is directed to use of a master root node, in a distributed computer system provided with multiple root nodes, to control the configuration of routings through an I/O switched-fabric. One of the root nodes is designated as the master root node or PCI Configuration Manager (PCM), and is operable to carry out the configuration while each of the other root nodes remains in a quiescent or inactive state. In one useful embodiment pertaining to a system of the above type, that includes multiple root nodes, PCI switches, and PCI adapters available for sharing by different root nodes, a method is provided wherein the master root node is operated to configure routings through the PCI switches. Respective routings are configured between respective root nodes and the PCI adapters, wherein each of the configured routings corresponds to only one of the root nodes.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070097950
    Abstract: Method and system for address routing in a distributed computing system, such as a distributed computing system that uses PCI Express protocol to communicate over an I/O fabric. A destination identifier is provided to identify a physical or virtual host or end point. When a physical or virtual host or end point receives a PCI data packet it compares a list of source identifiers with destination identifiers to determine if a source identifier included in the transaction packet is associated with a destination identifier included in the transaction packet to determine if the transaction packet has a valid association. If the transaction packet has a valid association, it is routed to the target device. The present invention enables each host that attaches to PCI bridges or switches and shares a set of common PCI devices to have its own PCI 64-bit address space and enables the routing of PCI transaction packets between multiple hosts and adapters, through a PCI switched-fabric bus using a destination identifier.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070027952
    Abstract: A method, mechanism and computer usable medium is provided for distributing I/O fabric errors to the appropriate root nodes in a multi-root environment. The case where the I/O fabric is attached to more than one root node and where each root can potentially share with the other roots the I/O adapter (IOA) resources which are attached to the I/O is addressed. Additionally, a method, mechanism and computer usable medium is provided by which errors detected in an I/O fabric may be routed to all root nodes which may be affected by the error, while not being reported to the root nodes that will not be affected by those errors. In particular, distributed computing system which uses the PCI Express protocol to communicate over the I/O fabric is addressed.
    Type: Application
    Filed: July 28, 2005
    Publication date: February 1, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20070019637
    Abstract: A mechanism, method and computer usable medium is provided for each root node of a multiple root node system and its own independent address space. This mechanism also allows multiple system images within the same root node to have their own independent address spaces. A mechanism is also provided for incorporating legacy root node and input/output adapters that are non-aware of the mechanisms introduced by this invention. Input/ output adapters which implement this invention may also have the number of functions that they support greatly expanded beyond the present eight functions per input/output adapter.
    Type: Application
    Filed: July 7, 2005
    Publication date: January 25, 2007
    Inventors: William Boyd, Douglas Freimuth, William Holland, Steven Hunter, Renato Recio, Steven Thurber, Madeline Vega
  • Publication number: 20060281630
    Abstract: An apparatus, program product and method propagate errors detected in an IO fabric element from an IO fabric that is used to couple a plurality of endpoint IO resources to processing elements in a computer. In particular, such errors are propagated to the endpoint IO resources affected by the IO fabric element in connection with recovering from the errors in the IO fabric element. By doing so, a device driver or other program code used to access each affected IO resources may be permitted to asynchronously recover from the propagated error in its associated IO resource, and often without requiring the recovery from the error in the IO fabric element to wait for recovery to be completed for each of the affected IO resources. In addition, an IO fabric may be dynamically configured to support both recoverable and non-recoverable endpoint IO resources.
    Type: Application
    Filed: August 22, 2006
    Publication date: December 14, 2006
    Applicant: International Business Machines Corporation
    Inventors: David Bailey, Trung Nguyen, Gregory Nordstrom, Kanisha Patel, Steven Thurber
  • Publication number: 20060179195
    Abstract: A method and an apparatus are provided for restricting input/output device peer-to-peer operations in a data processing system to improve reliability, availability, and serviceability. A peer-to-peer (P2P) control logic is provided to perform a lookup of P2P lookup table entries. Each P2P lookup table entry comprises bus, device and function number fields, optional control fields, and an accept/reject bit. Upon receiving a communication request from a requesting I/O device, P2P control logic implemented in either a logical bridge or an I/O device identifies the requester ID of the request and determines if a match exists in the P2P lookup table entries. If a match is found and the accept/reject bit is enabled, I/O operations can be received from the requester.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 10, 2006
    Applicant: International Business Machines Corporation
    Inventors: Maneesh Sharma, Steven Thurber
  • Publication number: 20060026327
    Abstract: Method, apparatus and system for controlling input/output adapter data flow operations in a data processing system that includes at least one of a traffic class mechanism in conjunction with virtual channel resources so as to be able to associate Load/Store and DMA flows to/from an input/output adapter, and a relaxed ordering mechanism for associating a relaxed ordering bit to Load/Store operations to an input/output adapter. Functionality for controlling the input/output adapter data flow is provided in a host bridge that connects the input/output adapter to a system bus of the data processing system.
    Type: Application
    Filed: July 29, 2004
    Publication date: February 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Richard Arndt, Patrick Buckland, Gregory Nordstrom, Steven Thurber
  • Publication number: 20060010277
    Abstract: Method, apparatus and system for isolating input/output adapter interrupt domains in a data processing system. The data processing system includes a plurality of input/output adapters, and isolation of interrupt resources available to the input/output adapters is controlled by functionality in a host bridge that connects the plurality of input/output adapters to a system bus of the data processing system, thus permitting the use of low cost, industry standard switches and bridges external to the host bridge.
    Type: Application
    Filed: July 8, 2004
    Publication date: January 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Richard Arndt, Patrick Buckland, Gregory Nordstrom, Steven Thurber
  • Publication number: 20060010355
    Abstract: Method, apparatus and system for isolating input/output adapter error domains in a data processing system. Errors occurring in one input/output adapter are isolated from other input/output adapters of the data processing system by functionality in a host bridge that connects the input/output adapters to a system bus of the data processing system, thus permitting the use of low cost, industry standard switches and bridges external to the host bridge.
    Type: Application
    Filed: July 8, 2004
    Publication date: January 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Richard Arndt, Patrick Buckland, Gregory Nordstrom, Steven Thurber
  • Publication number: 20060010276
    Abstract: Method, apparatus and system for isolating input/output adapter Direct Memory Access addressing domains in a data processing system. The data processing system includes a plurality of input/output adapters, and access to a memory of the data processing system by the plurality of input/output adapters is controlled by functionality in a host bridge that connects the plurality of input/output adapters to a system bus of the data processing system, thus permitting the use of low cost, industry standard switches and bridges external to the host bridge.
    Type: Application
    Filed: July 8, 2004
    Publication date: January 12, 2006
    Applicant: International Business Machines Corporation
    Inventors: Richard Arndt, Patrick Buckland, Gregory Nordstrom, Steven Thurber