Patents by Inventor Mark D. Hummel

Mark D. Hummel 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: 20070168636
    Abstract: In one embodiment, an input/output (I/O) node comprises an I/O memory management unit (IOMMU) configured to translate memory requests. The I/O node is configured to couple to an interconnect and to operate as a tunnel on the interconnect, and wherein the IOMMU is configured translate memory requests passing through the tunnel in the upstream direction. In another embodiment, a system comprises another I/O node configured to bridge another interconnect to the interconnect, wherein the I/O node is the tunnel for the other I/O node.
    Type: Application
    Filed: January 16, 2007
    Publication date: July 19, 2007
    Inventors: Mark D. Hummel, Andrew W. Lueck, Geoffrey S. Strongin, Mitchell Alsup, Michael Haertel
  • Publication number: 20070168641
    Abstract: In one embodiment, a system comprises one or more input/output (I/O) devices; an I/O memory management unit (IOMMU) coupled to receive memory requests sourced by the I/O devices and configured to provide address translation for the memory requests; and a virtual machine monitor (VMM) configured to manage one or more virtual machines on the system, wherein the VMM is configured to virtualize the IOMMU, providing one or more virtual IOMMUs for use by one or more virtual machines.
    Type: Application
    Filed: January 16, 2007
    Publication date: July 19, 2007
    Inventors: Mark D. Hummel, Andrew W. Lueck, Geoffrey S. Strongin, Mitchell Alsup, Michael Haertel
  • Publication number: 20070168643
    Abstract: In an embodiment, an input/output (I/O) memory management unit (IOMMU) comprises at least one memory configured to store translation data; and control logic coupled to the memory and configured to translate an I/O device-generated memory request using the translation data. The translation data corresponds to one or more device table entries in a device table stored in a memory system of a computer system that includes the IOMMU, wherein the device table entry for a given request is selected by an identifier corresponding to the I/O device that generates the request. The translation data further corresponds to one or more I/O page tables, wherein the selected device table entry for the given request includes a pointer to a set of I/O page tables to be used to translate the given request.
    Type: Application
    Filed: January 16, 2007
    Publication date: July 19, 2007
    Inventors: Mark D. Hummel, Geoffrey S. Strongin, Mitchell Alsup, Michael Haertel, Andrew W. Lueck
  • Publication number: 20070168644
    Abstract: In one embodiment, an input/output (I/O) memory management unit (IOMMU) comprises at least one memory and control logic coupled to the memory. The memory is configured to store translation data corresponding to one or more I/O translation tables stored in a memory system of a computer system that includes the IOMMU. The control logic is configured to translate an I/O device-generated memory request using the translation data. The translation data includes a type field indicating one or more attributes of the translation, and the control logic is configured to control the translation responsive to the type field.
    Type: Application
    Filed: January 16, 2007
    Publication date: July 19, 2007
    Inventors: Mark D. Hummel, Geoffrey S. Strongin, Andrew W. Lueck
  • Patent number: 7069361
    Abstract: A method and system of expediting issuance of a second request of a pair of ordered requests into a distributed coherent communication fabric. The first request of the ordered pair is issued into the coherent communication fabric and directed to a first target. Issuance of the second request into the coherent communication fabric is stalled until the first target receives and orders the first request and transmits a response acknowledging the same.
    Type: Grant
    Filed: April 23, 2001
    Date of Patent: June 27, 2006
    Assignees: Advanced Micro Devices, Inc., API NetWorks, Inc.
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer, James B. Keller
  • Patent number: 6950438
    Abstract: A computer system employs virtual channels and allocates different resources to the virtual channels. More particularly, the computer system provides a posted commands virtual channel separate from the non-posted commands virtual channel for routing posted and non-posted commands or requests through coherent and noncoherent fabrics within the computer system. Because separate resources are allocated to the virtual channels in the computer system, posted requests may be allowed to become unordered with other requests from the same source. Implementation of a separate posted commands virtual channel may allow the computer system to maintain compatibility with I/O systems in which posted write requests may become unordered with previous posted requests (e.g., the Peripheral Component Interconnect Bus, or PCI). Implementation of the separate posted commands virtual channel thus may assist in providing deadlock-free operation.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: September 27, 2005
    Assignees: Advanced Micro Devices, Inc., Alpha Processor, Inc.
    Inventors: Jonathan M. Owen, Mark D. Hummel, James B. Keller
  • Publication number: 20040230718
    Abstract: A system including a host coupled to a serially connected chain of memory modules. In one embodiment, each of the memory modules includes a memory control hub for controlling access to a plurality of memory chips on the memory module. The memory modules are coupled serially in a chain to the host via a plurality of memory links. Each memory link may include an uplink for conveying transactions toward the host and a downlink for conveying transactions originating at the host to a next memory module in the chain. The uplink and the downlink may convey transactions using packets that include control and configuration packets and memory access packets. The memory control hub may convey a transaction received on a first downlink of a first memory link on a second downlink of a second memory link independent of decoding the transaction.
    Type: Application
    Filed: May 10, 2004
    Publication date: November 18, 2004
    Applicant: Advanced Micro Devices, Inc.
    Inventors: R. Stephen Polzin, Frederick D. Weber, Gerald R. Talbot, Larry D. Hewitt, Richard W. Reeves, Shwetal A. Patel, Ross V. La Fetra, Dale E. Gulick, Mark D. Hummel, Paul C. Miranda
  • Patent number: 6760838
    Abstract: A method for initializing a computing system comprising a plurality of devices which communicate on a communication link comprising a plurality of independent point-to-point links is provided, each of the point-to-point links interconnecting a respective pair of the plurality of devices. The method includes a link initialization procedure comprising initially configuring each respective pair of devices to communicate on the respective interconnecting link using common communication parameters, including a common frequency and a common link width. The link initialization procedure also may include an optimization procedure for determining maximum communication parameters for each interconnected pair of devices. If the maximum compatible parameters differ from the common parameters for any pair of devices, then the pair of devices may be reconfigured to communicate on the interconnecting link using the maximum compatible parameters.
    Type: Grant
    Filed: January 31, 2001
    Date of Patent: July 6, 2004
    Assignees: Advanced Micro Devices, Inc., API NetWorks, Inc.
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer
  • Patent number: 6751684
    Abstract: A method is provided for fairly allocating bandwidth to a plurality of devices connected to a communication link implemented as a plurality of point-to-point links. The point-to-point links interconnect the devices in a daisy chain fashion. Each device is configured to transmit locally generated packets and to forward packets received from downstream devices onto one of the point-to-point links. The rate at which each device transmits local packets relative to forwarding received packets is referred to as the device's insertion rate. A fair bandwidth allocation algorithm is implemented in each (upstream) device to determine the highest packet issue rate of the devices which are downstream of that (upstream) device. The packet issue rate of a downstream device is the number of local packets associated with the downstream device that are received at the upstream device relative to the total number of packets received at the upstream device.
    Type: Grant
    Filed: December 21, 2000
    Date of Patent: June 15, 2004
    Inventors: Jonathan M. Owen, Mark D. Hummel
  • Patent number: 6745272
    Abstract: A method and system of expediting issuance of a second request of a pair of ordered requests into a distributed coherent communication fabric. The first request of the ordered pair is issued into the coherent communication fabric and directed to a first target. Issuance of the second request into the coherent communication fabric is stalled until the first target receives and orders the first request and transmits a response acknowledging the same.
    Type: Grant
    Filed: April 4, 2001
    Date of Patent: June 1, 2004
    Assignees: Advanced Micro Devices, Inc., API Networks, Inc.
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer, James B. Keller
  • Patent number: 6738917
    Abstract: A low latency method of synchronizing asynchronous data to a core clock in a receiving device. A communication referenced to a transmitting clock that is asynchronous to the core clock is received at a receiving device. The communication includes a synchronization signal which is propagated through a synchronizer in the receiving device to synchronize the signal to the core clock. Upon receipt of the synchronization signal by the synchronizer, a load pointer for loading received data into a buffer synchronous with the transmitting clock is reset. Upon completion of the propagation of the synchronization signal through the synchronizer, an unload pointer for unloaded the data from the buffer synchronous with the core clock is reset. The unload pointer is then offset by an amount that compensates for the delay incurred while the synchronization propagated through the synchronizer.
    Type: Grant
    Filed: January 3, 2001
    Date of Patent: May 18, 2004
    Assignee: Alliance Semiconductor Corporation
    Inventors: Mark D. Hummel, Gerald R. Talbot
  • Patent number: 6721813
    Abstract: A computer system is presented which implements a system and method for tracking the progress of posted write transactions. In one embodiment, the computer system includes a processing subsystem and an input/output (I/O) subsystem. The processing subsystem includes multiple processing nodes interconnected via coherent communication links. Each processing node may include a processor preferably executing software instructions. The I/O subsystem includes one or more I/O nodes. Each I/O node may embody one or more I/O functions (e.g., modem, sound card, etc.). The multiple processing nodes may include a first processing node and a second processing node, wherein the first processing node includes a host bridge, and wherein a memory is coupled to the second processing node. An I/O node may generate a non-coherent write transaction to store data within the second processing node's memory, wherein the non-coherent write transaction is a posted write transaction.
    Type: Grant
    Filed: January 30, 2001
    Date of Patent: April 13, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jonathan M. Owen, Mark D. Hummel, James B. Keller
  • Patent number: 6665742
    Abstract: A method for initializing a computing system comprising a plurality of devices which communicate on a communication link comprising a plurality of independent point-to-point links is provided, each of the point-to-point links interconnecting a respective pair of the plurality of devices. The method includes a link initialization procedure comprising initially configuring each respective pair of devices to communicate on the respective interconnecting link using common communication parameters, including a common frequency and a common link width. The link initialization procedure also may include an optimization procedure for determining maximum communication parameters for each interconnected pair of devices. If the maximum compatible parameters differ from the common parameters for any pair of devices, then the pair of devices may be reconfigured to communicate on the interconnecting link using the maximum compatible parameters.
    Type: Grant
    Filed: January 31, 2001
    Date of Patent: December 16, 2003
    Assignees: Advanced Micro Devices, Inc., API Networks, Inc.
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer
  • Publication number: 20020174229
    Abstract: A method and system of expediting issuance of a second request of a pair of ordered requests into a distributed coherent communication fabric. The first request of the ordered pair is issued into the coherent communication fabric and directed to a first target. Issuance of the second request into the coherent communication fabric is stalled until the first target receives and orders the first request and transmits a response acknowledging the same.
    Type: Application
    Filed: April 23, 2001
    Publication date: November 21, 2002
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer, James B. Keller
  • Publication number: 20020147869
    Abstract: A method and system of expediting issuance of a second request of a pair of ordered requests into a distributed coherent communication fabric. The first request of the ordered pair is issued into the coherent communication fabric and directed to a first target. Issuance of the second request into the coherent communication fabric is stalled until the first target receives and orders the first request and transmits a response acknowledging the same.
    Type: Application
    Filed: April 4, 2001
    Publication date: October 10, 2002
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer, James B. Keller
  • Patent number: 6448815
    Abstract: A low-voltage transmitter and receiver adapted for differential signaling via transmission lines between integrated circuits enables operation at very-high data exchange rates. Such data transmission is achieved in a manner that minimizes reflected energy and minimizes crosstalk between signals propagating over neighboring transmission lines. In achieving optimal transmission characteristics, a bridge circuit is employed to drive the signal. The bridge circuit is connected in series between a pull-up and pull-down resistance, their respective resistance values being programmable to maintain optimal communication rates and quality. The pull-up and pull-down resistors preferably comprise a bank of transistors having source-to-drain resistance values that are binary multiples of each other. The transistors are preferably coupled in parallel with each other and in parallel with a resistor, such that the transistors can be selectively activated by a binary voltage control data word.
    Type: Grant
    Filed: October 30, 2000
    Date of Patent: September 10, 2002
    Assignee: API NetWorks, Inc.
    Inventors: Gerald Talbot, Michael J. Osborn, Mark D. Hummel
  • Publication number: 20020103948
    Abstract: A computer system is presented which implements a system and method for tracking the progress of posted write transactions. In one embodiment, the computer system includes a processing subsystem and an input/output (I/O) subsystem. The processing subsystem includes multiple processing nodes interconnected via coherent communication links. Each processing node may include a processor preferably executing software instructions. The I/O subsystem includes one or more I/O nodes. Each I/O node may embody one or more I/O functions (e.g., modem, sound card, etc.). The multiple processing nodes may include a first processing node and a second processing node, wherein the first processing node includes a host bridge, and wherein a memory is coupled to the second processing node. An I/O node may generate a non-coherent write transaction to store data within the second processing node's memory, wherein the non-coherent write transaction is a posted write transaction.
    Type: Application
    Filed: January 30, 2001
    Publication date: August 1, 2002
    Inventors: Jonathan M. Owen, Mark D. Hummel, James B. Keller
  • Publication number: 20020103995
    Abstract: A method for initializing a computing system comprising a plurality of devices which communicate on a communication link comprising a plurality of independent point-to-point links is provided, each of the point-to-point links interconnecting a respective pair of the plurality of devices. The method includes a link initialization procedure comprising initially configuring each respective pair of devices to communicate on the respective interconnecting link using common communication parameters, including a common frequency and a common link width. The link initialization procedure also may include an optimization procedure for determining maximum communication parameters for each interconnected pair of devices. If the maximum compatible parameters differ from the common parameters for any pair of devices, then the pair of devices may be reconfigured to communicate on the interconnecting link using the maximum compatible parameters.
    Type: Application
    Filed: January 31, 2001
    Publication date: August 1, 2002
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer
  • Publication number: 20020103945
    Abstract: A method for initializing a computing system comprising a plurality of devices which communicate on a communication link comprising a plurality of independent point-to-point links is provided, each of the point-to-point links interconnecting a respective pair of the plurality of devices. The method includes a link initialization procedure comprising initially configuring each respective pair of devices to communicate on the respective interconnecting link using common communication parameters, including a common frequency and a common link width. The link initialization procedure also may include an optimization procedure for determining maximum communication parameters for each interconnected pair of devices. If the maximum compatible parameters differ from the common parameters for any pair of devices, then the pair of devices may be reconfigured to communicate on the interconnecting link using the maximum compatible parameters.
    Type: Application
    Filed: January 31, 2001
    Publication date: August 1, 2002
    Inventors: Jonathan M. Owen, Mark D. Hummel, Derrick R. Meyer
  • Publication number: 20020087909
    Abstract: A low latency method of synchronizing asynchronous data to a core clock in a receiving device. A communication referenced to a transmitting clock that is asynchronous to the core clock is received at a receiving device. The communication includes a synchronization signal which is propagated through a synchronizer in the receiving device to synchronize the signal to the core clock. Upon receipt of the synchronization signal by the synchronizer, a load pointer for loading received data into a buffer synchronous with the transmitting clock is reset. Upon completion of the propagation of the synchronization signal through the synchronizer, an unload pointer for unloaded the data from the buffer synchronous with the core clock is reset. The unload pointer is then offset by an amount that compensates for the delay incurred while the synchronization propagated through the synchronizer.
    Type: Application
    Filed: January 3, 2001
    Publication date: July 4, 2002
    Inventors: Mark D. Hummel, Gerald R. Talbot