Patents by Inventor Mark Hummel

Mark 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: 20130262776
    Abstract: Existing multiprocessor computing systems often have insufficient memory coherency and, consequently, are unable to efficiently utilize separate memory systems. Specifically, a CPU cannot effectively write to a block of memory and then have a GPU access that memory unless there is explicit synchronization. In addition, because the GPU is forced to statically split memory locations between itself and the CPU, existing multiprocessor computing systems are unable to efficiently utilize the separate memory systems. Embodiments described herein overcome these deficiencies by receiving a notification within the GPU that the CPU has finished processing data that is stored in coherent memory, and invalidating data in the CPU caches that the GPU has finished processing from the coherent memory. Embodiments described herein also include dynamically partitioning a GPU memory into coherent memory and local memory through use of a probe filter.
    Type: Application
    Filed: August 31, 2012
    Publication date: October 3, 2013
    Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Anthony ASARO, Kevin NORMOYLE, Mark HUMMEL
  • Publication number: 20130262775
    Abstract: Embodiments of the present invention provides for the execution of threads and/or workitems on multiple processors of a heterogeneous computing system in a manner that they can share data correctly and efficiently. Disclosed method, system, and article of manufacture embodiments include, responsive to an instruction from a sequence of instructions of a work-item, determining an ordering of visibility to other work-items of one or more other data items in relation to a particular data item, and performing at least one cache operation upon at least one of the particular data item or the other data items present in any one or more cache memories in accordance with the determined ordering. The semantics of the instruction includes a memory operation upon the particular data item.
    Type: Application
    Filed: March 30, 2012
    Publication date: October 3, 2013
    Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Anthony ASARO, Kevin Normoyle, Mark Hummel, Norman Rubin, Mark Fowler
  • Publication number: 20130166834
    Abstract: A method and apparatus for managing a virtual address to physical address translation utilize a subpage level fault detecting and access. The method and apparatus may also use an additional subpage and page store Non-Volatile Store (NVS). The method and apparatus determines whether a page fault occurs or whether a subpage fault occurs to effect an address translation and also operates such that if a subpage fault had occurred, a subpage is loaded corresponding to the fault from a NVS to a DRAM, such as DRAM or any other suitable volatile memory historically referred to as main memory. The method and apparatus, if a page fault has occurred, determines if a page fault has occurred without operating system assistance and is a hardware page fault detection system that loads a page corresponding to the fault from NVS to DRAM.
    Type: Application
    Filed: December 21, 2011
    Publication date: June 27, 2013
    Applicant: Advanced Micro Devices, Inc.
    Inventors: David E. Mayhew, Mark Hummel
  • Publication number: 20130147821
    Abstract: In an embodiment, a method of processing memory requests in a first processing device is provided. The method includes generating a memory request associated with a memory address located in an unpinned memory space managed by an operating system running on a second processing device; and responsive to a determination that the memory address is not resident in a physical memory, transmitting a message to the second processing device. In response to the message, the operating system controls the second processing device to bring the memory address into the physical memory.
    Type: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Warren Fritz Kruger, Philip J. Rogers, Mark Hummel
  • Publication number: 20130145055
    Abstract: The present system enables an input/output (I/O) device to request memory for performing a direct memory access (DMA) of system memory. Further, the system uses an input/output memory management unit (IOMMU) to determine whether or not the system memory is available. The IOMMU notifies an operating system associated with the system memory if the system memory is not available, such that the operating system allocates non-system memory for use by the I/O device to perform the DMA.
    Type: Application
    Filed: December 2, 2011
    Publication date: June 6, 2013
    Inventors: Andrew Kegel, Mark Hummel, Anthony Asaro, Phillip NG
  • Publication number: 20130145051
    Abstract: A system is enabled for configuring an IOMMU to provide direct access to system memory data by at least one I/O device/peripheral. Further, the IOMMU is configured to pass a pointer to at least one I/O device without having to translate the pointer. Further, commands are sent from a process within a guest operating system (OS) directly to a peripheral without intervention from a hypervisor. Further, the IOMMU is configured to grant peripherals access permissions to memory blocks to maintain isolation among peripherals.
    Type: Application
    Filed: December 2, 2011
    Publication date: June 6, 2013
    Inventors: Andrew Kegel, Mark Hummel
  • Publication number: 20130138840
    Abstract: The present system enables passing a pointer, associated with accessing data in a memory, to an input/output (I/O) device via an input/output memory management unit (IOMMU). The I/O device accesses the data in the memory via the IOMMU without copying the data into a local I/O device memory. The I/O device can perform an operation on the data in the memory based on the pointer, such that I/O device accesses the memory without expensive copies.
    Type: Application
    Filed: November 30, 2011
    Publication date: May 30, 2013
    Inventors: Andrew Kegel, Mark Hummel, Anthony Asaro, Phillip Ng
  • Publication number: 20130070515
    Abstract: A method and apparatus for controlling state information retention determines at least a state information save or restore condition for at least one processing circuit such as one or more CPU or GPU cores or pipelines, in an integrated circuit. In response to determining the state information save or restore condition, the method and apparatus controls either or both of saving or restoring of state information for different virtual machines operating on the processing circuit, into corresponding on-die persistent passive variable resistance memory. The state information save or restore condition is a virtual machine level state information save or restore condition. State information for each of differing virtual machines is saved or restored from differing on-die passive variable resistance memory cells that are assigned on a per-virtual machine basis.
    Type: Application
    Filed: September 14, 2012
    Publication date: March 21, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: David Mayhew, Mark Hummel, Michael Ignatowski
  • Publication number: 20120246381
    Abstract: Embodiments of the present invention provide methods, systems, and computer readable media for input output memory management unit (IOMMU) two-layer addressing in the context of memory address translations for I/O devices. According to an embodiment, a method includes translating a guest virtual address (GVA) to a corresponding guest physical address (GPA) using a guest address translation table according to a process address space identifier associated with an address translation transaction associated with an I/O device, and translating the GPA to a corresponding system physical address (SPA) using a system address translation table according to a device identifier associated with the address translation transaction.
    Type: Application
    Filed: December 2, 2011
    Publication date: September 27, 2012
    Inventors: Andy Kegel, Mark Hummel, Steve Glaser, Tony Asaro, Philip NG, Jeffrey Cheng
  • Publication number: 20120229481
    Abstract: A method, system, and computer program product are disclosed for providing improved access to accelerated processing device compute resources to user mode applications. The functionality disclosed allows user mode applications to provide commands to an accelerated processing device without the need for kernel mode transitions in order to access a unified ring buffer. Instead, applications are each provided with their own buffers, which the accelerated processing device hardware can access to process commands. With full operating system support, user mode applications are able to utilize the accelerated processing device in much the same way as a CPU.
    Type: Application
    Filed: December 2, 2011
    Publication date: September 13, 2012
    Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Rex McCrary, Michael Clair Houston, Philip J. Rogers, Gongxian Jeffrey Cheng, Mark Hummel, Charles Roberts Moore, Leendert Peter Van Doorn, Paul Blinzer
  • Patent number: 8244978
    Abstract: Embodiments allow a smaller, simpler hardware implementation of an input/output memory management unit (IOMMU) having improved translation behavior that is independent of page table structures and formats. Embodiments also provide device-independent structures and methods of implementation, allowing greater generality of software (fewer specific software versions, in turn reducing development costs).
    Type: Grant
    Filed: February 17, 2010
    Date of Patent: August 14, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Andrew Kegel, Mark Hummel, Erich Boleyn
  • Publication number: 20120188258
    Abstract: A method, system, and computer program product are disclosed for providing improved access to accelerated processing device compute resources to user mode applications. The functionality disclosed allows user mode applications to provide commands to an accelerated processing device without the need for kernel mode transitions in order to access a unified ring buffer. Instead, applications are each provided with their own buffers, which the accelerated processing device hardware can access to process commands. With full operating system support, user mode applications are able to utilize the accelerated processing device in much the same way as a CPU.
    Type: Application
    Filed: November 4, 2011
    Publication date: July 26, 2012
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Rex MCCRARY, Michael Houston, Philip J. Rogers, Gongxian Jeffrey Cheng, Mark Hummel, Paul Blinzer
  • Publication number: 20120159039
    Abstract: Methods, systems, and computer readable media generalize control registers in the context of memory address translations for I/O devices. A method includes maintaining a table including a plurality of concurrently available control register base pointers each associated with a corresponding input/output (I/O) device, associating each control register base pointer with a first translation from a guest virtual address (GVA) to a guest physical address (GPA) and a second translation from the GPA to a system physical address (SPA), and operating the first and second translations concurrently for the plurality of I/O devices.
    Type: Application
    Filed: December 2, 2011
    Publication date: June 21, 2012
    Inventors: Andy Kegel, Mark Hummel, Tony Asaro, Philip Ng
  • Publication number: 20120147021
    Abstract: A method, system, and computer program product are disclosed for providing improved access to accelerated processing device compute resources to user mode applications. The functionality disclosed allows user mode applications to provide commands to an accelerated processing device without the need for kernel mode transitions in order to access a unified ring buffer. Instead, applications are each provided with their own buffers, which the accelerated processing device hardware can access to process commands. With full operating system support, user mode applications are able to utilize the accelerated processing device in much the same way as a CPU.
    Type: Application
    Filed: November 4, 2011
    Publication date: June 14, 2012
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Jeffrey Gongxian CHENG, Paul BLINZER, Mark HUMMEL, Leendert Peter VAN DOORN
  • Publication number: 20110202724
    Abstract: Embodiments allow a smaller, simpler hardware implementation of an input/output memory management unit (IOMMU) having improved translation behavior that is independent of page table structures and formats. Embodiments also provide device-independent structures and methods of implementation, allowing greater generality of software (fewer specific software versions, in turn reducing development costs).
    Type: Application
    Filed: February 17, 2010
    Publication date: August 18, 2011
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Andrew G. KEGEL, Mark Hummel, Erich Boleyn
  • Publication number: 20110057939
    Abstract: Disclosed herein are systems, apparatuses, and methods for enabling efficient reads to a local memory of a processing unit. In an embodiment, a processing unit includes an interface and a buffer. The interface is configured to (i) send a request for a portion of data in a region of a local memory of an other processing unit and (ii) receive, responsive to the request, all the data from the region. The buffer is configured to store the data from the region of the local memory of the other processing unit.
    Type: Application
    Filed: March 8, 2010
    Publication date: March 10, 2011
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: David I.J. GLEN, Philip J. Rogers, Gordon F. Caruk, Gongxian Jeffrey Cheng, Mark Hummel, Stephen Patrick Thompson, Anthony Asaro
  • Publication number: 20110060879
    Abstract: A processing system is provided. The processing system includes a first processing unit coupled to a first memory and a second processing unit coupled to a second memory. The second memory comprises a coherent memory and a private memory that is private to the second processing unit.
    Type: Application
    Filed: September 9, 2010
    Publication date: March 10, 2011
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Philip J. ROGERS, Warren Fritz Kruger, Mark Hummel, Eric Demers
  • Patent number: 7596742
    Abstract: A communication protocol that allows an inserted control packet to immediately follow another control packet can be more robust to single bit errors when the two types of control packets can be distinguished using transmitted control signals to perform packet framing without having to examine the contents of the control packet.
    Type: Grant
    Filed: April 24, 2006
    Date of Patent: September 29, 2009
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Mark Hummel
  • Publication number: 20080003545
    Abstract: An apparatus which carries a storyboard comprised of images and/or text and which allows a user to place and arrange on a rubbing board select ones of a plurality of rubbing objects that are related to the images and/or text depicted on the storyboard. The apparatus further provides for the user positioning a sheet of paper over the selected and arranged rubbing objects whereupon the user may move a marker, crayon, or the like back and forth across the paper and the underlying rubbing object to cause the image(s) carried by the rubbing object(s) to be imposed onto the paper.
    Type: Application
    Filed: June 1, 2007
    Publication date: January 3, 2008
    Applicant: DuPage Children's Museum
    Inventors: Cynthia S. Mark-Hummel, Peter James Crabbe
  • Publication number: 20070038840
    Abstract: In an embodiment, an input/output memory management unit (IOMMU) is configured to receive a completion wait command defined to ensure that one or more preceding invalidation commands are completed by the IOMMU prior to a completion of the completion wait command. The IOMMU is configured to respond to the completion wait command by delaying completion of the completion wait command until: (1) a read response corresponding to each outstanding memory read operation that depends on a translation entry that is invalidated by the preceding invalidation commands is received; and (2) the control unit transmits one or more operations upstream to ensure that each memory write operation that depends on the translation table entry that is invalidated by the preceding invalidation commands has at least reached a bridge to a coherent fabric in the computer system and has become visible to the system.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Mark Hummel, Andrew Lueck, Geoffrey Strongin, Mitchell Alsup, Michael Haertel