Patents by Inventor Andrew Kegel
Andrew Kegel 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: 9286248Abstract: A method of managing peripherals is performed in a device coupled to a processor in a computer system. For example, the method is performed in an input/output memory management unit (IOMMU) or a peripheral. The method includes recording information associated with I/O activity for one or more peripherals in a log that has a first base address. The method also includes, without pausing the I/O activity, specifying a second base address for the log and setting a head pointer and a tail pointer for the log to indicate that the log is empty. The second base address is distinct from the first base address.Type: GrantFiled: October 4, 2013Date of Patent: March 15, 2016Assignee: ADVANCED MICRO DEVICES, INC.Inventor: Andrew Kegel
-
Patent number: 9239804Abstract: A system and method of managing requests from peripherals in a computer system are provided. In the system and method, an input/output memory management unit (IOMMU) receives a peripheral page request (PPR) from a peripheral. In response to a determination that a criterion regarding an available capacity of a PPR log is satisfied, a completion message is sent to the peripheral indicating that the PPR is complete and the PPR is discarded without queuing the PPR in the PPR log.Type: GrantFiled: October 3, 2013Date of Patent: January 19, 2016Assignee: ADVANCED MICRO DEVICES, INC.Inventors: Andrew Kegel, Jimshed Mirza, Paul Blinzer, Philip Ng
-
Publication number: 20150100708Abstract: A method of managing peripherals is performed in a device coupled to a processor in a computer system. For example, the method is performed in an input/output memory management unit (IOMMU) or a peripheral. The method includes recording information associated with I/O activity for one or more peripherals in a log that has a first base address. The method also includes, without pausing the I/O activity, specifying a second base address for the log and setting a head pointer and a tail pointer for the log to indicate that the log is empty. The second base address is distinct from the first base address.Type: ApplicationFiled: October 4, 2013Publication date: April 9, 2015Applicant: Advanced Micro Devices, Inc.Inventor: Andrew Kegel
-
Publication number: 20150100818Abstract: A system and method of managing requests from peripherals in a computer system are provided. In the system and method, an input/output memory management unit (IOMMU) receives a peripheral page request (PPR) from a peripheral. In response to a determination that a criterion regarding an available capacity of a PPR log is satisfied, a completion message is sent to the peripheral indicating that the PPR is complete and the PPR is discarded without queuing the PPR in the PPR log.Type: ApplicationFiled: October 3, 2013Publication date: April 9, 2015Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.Inventors: Andrew Kegel, Jimshed Mirza, Paul Blinzer, Philip Ng
-
Patent number: 8984255Abstract: A data processing device is provided that employs multiple translation look-aside buffers (TLBs) associated with respective processors that are configured to store selected address translations of a page table of a memory shared by the processors. The processing device is configured such that when an address translation is requested by a processor and is not found in the TLB associated with that processor, another TLB is probed for the requested address translation. The probe across to the other TLB may occur in advance of a walk of the page table for the requested address or alternatively a walk can be initiated concurrently with the probe. Where the probe successfully finds the requested address translation, the page table walk can be avoided or discontinued.Type: GrantFiled: December 21, 2012Date of Patent: March 17, 2015Assignee: Advanced Micro Devices, Inc.Inventors: Lisa Hsu, Nuwan Jayasena, Andrew Kegel, Bradford M. Beckmann
-
Publication number: 20140181460Abstract: A data processing device is provided that employs multiple translation look-aside buffers (TLBs) associated with respective processors that are configured to store selected address translations of a page table of a memory shared by the processors. The processing device is configured such that when an address translation is requested by a processor and is not found in the TLB associated with that processor, another TLB is probed for the requested address translation. The probe across to the other TLB may occur in advance of a walk of the page table for the requested address or alternatively a walk can be initiated concurrently with the probe. Where the probe successfully finds the requested address translation, the page table walk can be avoided or discontinued.Type: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Lisa Hsu, Nuwan Jayasena, Andrew Kegel, Bradford M. Beckmann
-
Publication number: 20140181461Abstract: A method and apparatus for reporting events into at least one event log are presented. An “access” event entry may be added to an event log stored in memory when a peripheral device accesses an address of a memory page described by a page table entry (PTE). A “dirty” event entry may be added to an event log stored in memory when a page writes to a memory page. The event log may reside in an input/output memory management unit (IOMMU) that includes a translation lookaside buffer (TLB). The IOMMU may report the event log entries to system memory. When there is no entry in the TLB and a direct memory access (DMA) read operation enters the IOMMU, a PTE may be loaded into the TLB after updating an access log to calculate an address. If the DMA operation is not a read operation, both dirty and access logs may be updated.Type: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Andrew Kegel, Thomas R. Woller
-
Patent number: 8719464Abstract: 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: GrantFiled: November 30, 2011Date of Patent: May 6, 2014Assignee: Advanced Micro Device, Inc.Inventors: Andrew Kegel, Mark Hummel, Anthony Asaro, Phillip Ng
-
Publication number: 20130262736Abstract: The present system enables receiving a request from an I/O device to translate a virtual address to a physical address to access the page in system memory. One or more memory attributes of the page defining a cacheability characteristic of the page is identified. A response including the physical address and the cacheability characteristic of the page is sent to the I/O device.Type: ApplicationFiled: March 30, 2012Publication date: October 3, 2013Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.Inventors: Andrew KEGEL, Mark Hummel, Anthony Asaro
-
Publication number: 20130145051Abstract: 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: ApplicationFiled: December 2, 2011Publication date: June 6, 2013Inventors: Andrew Kegel, Mark Hummel
-
Publication number: 20130145055Abstract: 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: ApplicationFiled: December 2, 2011Publication date: June 6, 2013Inventors: Andrew Kegel, Mark Hummel, Anthony Asaro, Phillip NG
-
Publication number: 20130138840Abstract: 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: ApplicationFiled: November 30, 2011Publication date: May 30, 2013Inventors: Andrew Kegel, Mark Hummel, Anthony Asaro, Phillip Ng
-
Patent number: 8244978Abstract: 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: GrantFiled: February 17, 2010Date of Patent: August 14, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Andrew Kegel, Mark Hummel, Erich Boleyn
-
Publication number: 20070260545Abstract: Embodiments of the present invention address deficiencies of the art in respect to trusted platform module (TPM) unification in a trusted computing environment and provide a novel and non-obvious method, system and computer program product for trusted platform module data harmonization. In one embodiment of the invention, a TPM log harmonization method can include designating both a single master TPM for a master node among multiple nodes, and also a multiplicity of subsidiary TPMs for remaining ones of the nodes. The method further can include extending the single master TPM with a measurement representing a rendezvous operation for the nodes.Type: ApplicationFiled: May 2, 2006Publication date: November 8, 2007Applicant: International Business Machines CorporationInventors: Steven Bade, Richard Dayan, James Hanna, Andrew Kegel
-
Publication number: 20070198214Abstract: A solution for evaluating trust in a computer infrastructure is provided. In particular, a plurality of computing devices in the computer infrastructure evaluate one or more other computing devices in the computer infrastructure based on a set of device measurements for the other computing device(s) and a set of reference measurements. To this extent, each of the plurality of computing devices also provides a set of device measurements for processing by the other computing device(s) in the computer infrastructure.Type: ApplicationFiled: February 16, 2006Publication date: August 23, 2007Applicant: International Business Machines CorporationInventors: Steven Bade, Andrew Kegel, Leendert Van Doorn
-
Publication number: 20070136577Abstract: A method, system and computer program product for implementing general purpose PCRs with extended semantics (referred to herein as “ePCRs”) in a trusted, measured software module. The module is designed to run in one of a hypervisor context, an isolated partition, or under other isolated configurations. Because the software module is provided using trusted (measured) code, the software implementing the PCRs is able to run as a simple software process in the operating system (OS), as long as the software is first measured and logged. The software-implemented ePCRs are generated as needed to record specific measurements of the software and hardware elements on which an application depends, and the ePCRs are able to ignore other non-dependencies.Type: ApplicationFiled: December 13, 2005Publication date: June 14, 2007Inventors: Steven Bade, Andrew Kegel, Leendert Van Doorn
-
Publication number: 20060090085Abstract: Indicating when the cover for a computer chassis has been opened is disclosed. A computer of an embodiment of the invention includes a chassis and a basic input/output system (BIOS), or another type of firmware. The chassis has an openable cover, and circuitry indicating when the openable cover has been opened. The BIOS has a non-volatile memory in which a flag is set when the circuitry indicates that the openable cover has been opened. The computer may further include always-on circuitry, such as time-of-day and real-time clock circuitry, to which the circuitry indicating when the openable cover has been opened is electrically connected. The computer may also include one or more encryption and/or signing modules that encrypt and/or sign data according to one or more keys. The keys are rendered invalid when the cover of the chassis has been opened.Type: ApplicationFiled: October 23, 2004Publication date: April 27, 2006Inventors: Paul McKenney, Paul Landsberg, James Ward, Andrew Kegel
-
Publication number: 20050257073Abstract: Multiple trusted platform modules within a data processing system are used in a redundant manner that provides a reliable mechanism for securely storing secret data at rest that is used to bootstrap a system trusted platform module. A hypervisor requests each trusted platform module to encrypt a copy of the secret data, thereby generating multiple versions of encrypted secret data values, which are then stored within a non-volatile memory within the trusted platform. At some later point in time, the encrypted secret data values are retrieved, decrypted by the trusted platform module that performed the previous encryption, and then compared to each other. If any of the decrypted values do not match a quorum of values from the comparison operation, then a corresponding trusted platform module for a non-matching decrypted value is designated as defective because it has not been able to correctly decrypt a value that it previously encrypted.Type: ApplicationFiled: April 29, 2004Publication date: November 17, 2005Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Steven Bade, Linda Betz, Andrew Kegel, David Safford, Leendert Doorn
-
Publication number: 20050257248Abstract: Server discovery, spawning collector threads to collect information from servers, and reporting such information, is disclosed. A method of one embodiment determines a number of servers communicatively coupled to a network. For each server, a collector thread is spawned to collect information regarding the server by sending requests to the server and receiving responses from the server. The collector threads can be spawned by and run on a computing device other than the number of servers, such that no computer-executable code is installed on the servers for collecting the information. Upon completion of the collector thread for each server, the information regarding the server as collected is stored to a database by one or more writer threads.Type: ApplicationFiled: May 17, 2004Publication date: November 17, 2005Inventors: Andrew Kegel, Deepa Srinivasan, Steven Cook, Robert Smith
-
Publication number: 20050246552Abstract: A method, an apparatus, a system, and a computer program product is presented for virtualizing trusted platform modules within a data processing system. A virtual trusted platform module along with a virtual endorsement key is created within a physical trusted platform module within the data processing system using a platform signing key of the physical trusted platform module, thereby providing a transitive trust relationship between the virtual trusted platform module and the core root of trust for the trusted platform. The virtual trusted platform module can be uniquely associated with a partition in a partitionable runtime environment within the data processing system.Type: ApplicationFiled: April 29, 2004Publication date: November 3, 2005Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Steven Bade, Linda Betz, Andrew Kegel, Michael Kelly, William Terrell