Patents by Inventor David M. Kahn
David M. Kahn 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: 10489317Abstract: Embodiments of input/output hub unit are disclosed for aggregating interrupts received from multiple endpoint devices. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive messages from a corresponding endpoint device. The interface unit may be configured to update a first pointer within a first data structure responsive to a request from a given one of the communication units. The interface unit may be further configured to stored data in a second data structure responsive to updating the first pointer, reading a second pointer and the first pointer, and sending an interrupt responsive to a determination that the first and second pointers are equal.Type: GrantFiled: April 23, 2018Date of Patent: November 26, 2019Assignee: Oracle International CorporationInventors: John R. Feehrer, Patrick Stabile, Hugh R. Kurth, David M. Kahn
-
Publication number: 20180246826Abstract: Embodiments of input/output hub unit are disclosed for aggregating interrupts received from multiple endpoint devices. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive messages from a corresponding endpoint device. The interface unit may be configured to update a first pointer within a first data structure responsive to a request from a given one of the communication units. The interface unit may be further configured to stored data in a second data structure responsive to updating the first pointer, reading a second pointer and the first pointer, and sending an interrupt responsive to a determination that the first and second pointers are equal.Type: ApplicationFiled: April 23, 2018Publication date: August 30, 2018Inventors: John R. Feehrer, Patrick Stabile, Hugh R. Kurth, David M. Kahn
-
Patent number: 9952989Abstract: Embodiments of input/output hub unit are disclosed for aggregating interrupts received from multiple endpoint devices. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive messages from a corresponding endpoint device. The interface unit may be configured to update a first pointer within a first data structure responsive to a request from a given one of the communication units. The interface unit may be further configured to stored data in a second data structure responsive to updating the first pointer, reading a second pointer and the first pointer, and sending an interrupt responsive to a determination that the first and second pointers are equal.Type: GrantFiled: September 27, 2016Date of Patent: April 24, 2018Assignee: Oracle International CorporationInventors: John R. Feehrer, Patrick Stabile, Hugh R. Kurth, David M. Kahn
-
Publication number: 20170017589Abstract: Embodiments of input/output hub unit are disclosed for aggregating interrupts received from multiple endpoint devices. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive messages from a corresponding endpoint device. The interface unit may be configured to update a first pointer within a first data structure responsive to a request from a given one of the communication units. The interface unit may be further configured to stored data in a second data structure responsive to updating the first pointer, reading a second pointer and the first pointer, and sending an interrupt responsive to a determination that the first and second pointers are equal.Type: ApplicationFiled: September 27, 2016Publication date: January 19, 2017Inventors: John R. Feehrer, Patrick Stabile, Hugh R. Kurth, David M. Kahn
-
Patent number: 9507740Abstract: Embodiments of input/output hub unit are disclosed for aggregating interrupts received from multiple endpoint devices. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive messages from a corresponding endpoint device. The interface unit may be configured to update a first pointer within a first data structure responsive to a request from a given one of the communication units. The interface unit may be further configured to stored data in a second data structure responsive to updating the first pointer, reading a second pointer and the first pointer, and sending an interrupt responsive to a determination that the first and second pointers are equal.Type: GrantFiled: June 10, 2014Date of Patent: November 29, 2016Assignee: Oracle International CorporationInventors: John R Feehrer, Patrick Stabile, Hugh R Kurth, David M Kahn
-
Patent number: 9396142Abstract: An input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive interrupts or messages from a corresponding endpoint device. A given communication unit may be further configured to synthesize a virtual address from the received message, translate the synthesized virtual address to a real address, and then translate the real address to a physical address. The interface unit may be configured to send an interrupt dependent upon the physical address.Type: GrantFiled: June 10, 2014Date of Patent: July 19, 2016Assignee: Oracle International CorporationInventors: John R Feehrer, Patrick Stabile, Hugh R Kurth, David M Kahn, Robert Dickson
-
Publication number: 20150356036Abstract: Embodiments of input/output hub unit are disclosed for aggregating interrupts received from multiple endpoint devices. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive messages from a corresponding endpoint device. The interface unit may be configured to update a first pointer within a first data structure responsive to a request from a given one of the communication units. The interface unit may be further configured to stored data in a second data structure responsive to updating the first pointer, reading a second pointer and the first pointer, and sending an interrupt responsive to a determination that the first and second pointers are equal.Type: ApplicationFiled: June 10, 2014Publication date: December 10, 2015Inventors: John R Feehrer, Patrick Stabile, Hugh R Kurth, David M Kahn
-
Publication number: 20150356038Abstract: Embodiments of input/output hub unit are disclosed for virutalizing an input/output subsystem. The input/output hub may include an interface unit and one or more communication units. Each communication unit may be configured to receive interrups or messages from a corresponding endpoint device. A given communication unit may be further configured to synthesize a virtual address from the received message, translate the synthesized virtual address to a real address, and then translate the real address to a physical address. The interface unit may be configured to send an interrupt dependent upon the physical address.Type: ApplicationFiled: June 10, 2014Publication date: December 10, 2015Inventors: John R Feehrer, Patrick Stabile, Hugh R Kurth, David M Kahn, Robert Dickson
-
Patent number: 8631181Abstract: The disclosed embodiments provide a system that validates message-signaled interrupts. During operation, the system receives a message-signaled interrupt from a requesting device. This message-signaled interrupt includes an interrupt vector that identifies an interrupt, and is accompanied by an identification tag that identifies the source of the interrupt. The system uses the interrupt vector to access a stored tag from a tracking mechanism that associates source devices with their assigned interrupt vector(s). The system then compares the identification tag and the stored tag to validate the message-signaled interrupt.Type: GrantFiled: September 26, 2011Date of Patent: January 14, 2014Assignee: Oracle International CorporationInventors: John R. Feehrer, Hugh R. Kurth, Carl F. Humphreys, David M. Kahn, John G. Johnson, Tayfun Kocaoglu, Gregory C. Onufer
-
Publication number: 20130080673Abstract: The disclosed embodiments provide a system that validates message-signaled interrupts. During operation, the system receives a message-signaled interrupt from a requesting device. This message-signaled interrupt includes an interrupt vector that identifies an interrupt, and is accompanied by an identification tag that identifies the source of the interrupt. The system uses the interrupt vector to access a stored tag from a tracking mechanism that associates source devices with their assigned interrupt vector(s). The system then compares the identification tag and the stored tag to validate the message-signaled interrupt.Type: ApplicationFiled: September 26, 2011Publication date: March 28, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: John R. Feehrer, Hugh R. Kurth, Carl F. Humphreys, David M. Kahn, John G. Johnson, Tayfun Kocaoglu, Gregory C. Onufer
-
Patent number: 7487327Abstract: A processor employing device-specific memory address translation. In one embodiment, a processor may include a device interface configured to receive a memory access request from an input/output (I/O) device, where the request specifies a virtual memory address and a first requestor identifier (ID) that identifies the I/O device. The processor may also include an I/O memory management unit coupled to the device interface and configured to determine whether a virtual-to-physical memory address translation corresponding to the virtual memory address is stored within an I/O memory translation buffer. The I/O memory management unit may be further configured to determine whether a second requestor ID stored within the I/O memory translation buffer and corresponding to the memory address translation matches the first requestor ID. If the first and second requestor IDs do not match, the I/O memory management unit may disallow the memory access request and to signal an error condition.Type: GrantFiled: June 1, 2005Date of Patent: February 3, 2009Assignee: Sun Microsystems, Inc.Inventors: Bruce J. Chang, Ricky C. Hetherington, Brian J. McGee, David M. Kahn, Ashley N. Saulsbury
-
Patent number: 7149820Abstract: An enhanced VPD structure includes a type field to indicate whether a particular property is a general property to be associated with an interface card or other computer system component, or a device- or function-specific property to be associated with one or more devices or functions. The enhanced VPD structure also includes fields for identifying the device(s) and/or function(s) to which a device- or function-specific property applies, along with the value of the property, a data type and length of the property, and a meaningful name of the property. The enhanced VPD structure may be accessed during system boot, during hot-swapping of an interface card or other component, or at other times.Type: GrantFiled: July 30, 2002Date of Patent: December 12, 2006Assignee: Sun Microsystems, Inc.Inventors: Asif H. Haswarey, Francesco R. DiMambro, Sumanth R. Kamatala, Anil Umarshi Visariya, David M. Kahn
-
Publication number: 20040025089Abstract: An enhanced VPD structure includes a type field to indicate whether a particular property is a general property to be associated with an interface card or other computer system component, or a device- or function-specific property to be associated with one or more devices or functions. The enhanced VPD structure also includes fields for identifying the device(s) and/or function(s) to which a device- or function-specific property applies, along with the value of the property, a data type and length of the property, and a meaningful name of the property. The enhanced VPD structure may be accessed during system boot, during hot-swapping of an interface card or other component, or at other times.Type: ApplicationFiled: July 30, 2002Publication date: February 5, 2004Inventors: Asif H. Haswarey, Francesco R. DiMambro, Sumanth R. Kamatala, Anil Umarshi Visariya, David M. Kahn