Patents by Inventor Florian A. Auernhammer

Florian A. Auernhammer 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: 9792233
    Abstract: A technique for escalating interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM) that specifies a level, an event target number, a number of bits to ignore, and an event priority. A group of virtual processor threads that may be potentially interrupted is determined based on the event target number, the number of bits to ignore, the level, and a process identifier (ID) when the level specified in the ENM corresponds to a user level. In response to the event priority in the ENM not being greater than an operating priority of at least one virtual processor thread in the group of virtual processor threads, an escalate message that includes an escalate event number (EEN), sourced from an interrupt context table of the IPC, is issued. The EEN is used by an interrupt source controller to generate another ENM.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: October 17, 2017
    Assignee: International Business Machines Corporation
    Inventors: Richard L. Arndt, Florian A. Auernhammer
  • Patent number: 9785580
    Abstract: A bridge for coupling a requesting interconnect and a serving interconnect connected to a number of coherent units in a computer system includes N machines configured to handle requests from the requesting interconnect and for handling allocated responses from the serving interconnect, wherein each of the N machines has an allocated local count; a tracking entity configured to track priorities of the N machines for issuing received requests to the serving interconnect and for issuing received responses to the requesting interconnect based on the N local counts; a first arbiter configured to arbitrate the received requests to be issued to the serving interconnect based on the tracked priorities; and a second arbiter configured to arbitrate the received responses to be issued to the requesting interconnect based on the tracked priorities.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: October 10, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Florian A. Auernhammer, Joseph G. McDonald
  • Patent number: 9779043
    Abstract: A technique for handling queued interrupts includes accumulating respective backlog counts for respective event paths. The background counts track a number of events received but not delivered as interrupts to associated virtual processor (VP) threads. In response to a lowering of an operating priority (OP) of a VP thread (VPT), a scan backlog (SB) message is received that identifies the VPT and specifies a current operating priority for the VPT. In response to receiving the SB message, a linked list of event paths associated with the VPT is scanned to search for backlog events that have a higher priority than the current OP for the VPT. In response to a backlog event being located that has a higher priority than the current OP of the VPT, an interrupt to the VPT is initiated starting with a highest priority event path and the backlog count for the VPT is decremented.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: October 3, 2017
    Assignee: International Business Machines Corporation
    Inventors: Richard L. Arndt, Florian A. Auernhammer
  • Patent number: 9753871
    Abstract: A bridge for coupling a requesting interconnect and a serving interconnect connected to a number of coherent units in a computer system includes a first interface configured to receive a read request and a number of dependent write requests that the read request depends on from the requesting interconnect; and an issuer configured to issue the received number of dependent write requests to the serving interconnect and for issuing the received read request to the serving interconnect after issuing the number of dependent write requests and before receiving write acknowledgments for the issued dependent write requests from the serving interconnect.
    Type: Grant
    Filed: June 19, 2015
    Date of Patent: September 5, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Florian A. Auernhammer, Joseph G. McDonald
  • Patent number: 9727498
    Abstract: A bridge for coupling a requesting interconnect and a serving interconnect connected to a number of coherent units in a computer system includes a first interface configured to receive a read request and a number of dependent write requests that the read request depends on from the requesting interconnect; and an issuer configured to issue the received number of dependent write requests to the serving interconnect and for issuing the received read request to the serving interconnect after issuing the number of dependent write requests and before receiving write acknowledgments for the issued dependent write requests from the serving interconnect.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: August 8, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Florian A. Auernhammer, Joseph G. McDonald
  • Patent number: 9678901
    Abstract: A technique for handling interrupts includes receiving an event notification message (ENM) that specifies an event target number (ETN) and a number of bits to ignore (NBI). The ETN identifies a specific virtual processor thread (VPT) and the NBI identifies the number of lower-order bits of the specific VPT to ignore when determining a group of VPTs that may be potentially interrupted. In response to two or more VPTs within the group of VPTs being dispatched and operating on an associated physical processor, whether multiple of the two or more VPTs do not have a pending interrupt is determined. In response to determining that multiple of the two or more VPTs do not have a pending interrupt, one of the two or more VPTs is selected to service an interrupt associated with the ENM based, at least in part, on respective preferred bits for the two or more VPTs.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: June 13, 2017
    Assignee: International Business Machines Corporation
    Inventors: Richard L. Arndt, Florian A. Auernhammer, Stuart Z. Jacobs, Wade B. Ouren
  • Publication number: 20170161220
    Abstract: A technique for handling cache-inhibited operations in a data processing system includes receiving, at a topology specific replicated bus unit, a cache-inhibited (CI) operation that is scope limited. The replicated bus unit determines whether an address associated with the CI operation matches an address for the replicated bus unit. In response to the address associated with the CI operation matching the address for the replicated bus unit, the replicated bus unit processes the CI operation based on the scope being limited to that of the replicated bus unit. In response to the address associated with the CI operation not matching the address for the replicated bus unit, the replicated bus unit ignores the CI operation.
    Type: Application
    Filed: March 28, 2016
    Publication date: June 8, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN AUERNHAMMER, HUGH SHEN, DEREK E. WILLIAMS
  • Publication number: 20170139856
    Abstract: A technique for handling queued interrupts includes determining, by an interrupt presentation controller (IPC), whether a received memory mapped input/output (MMIO) store is associated with preempting a virtual processor (VP) thread. In response to determining the MIMO store is associated with preempting the VP thread, the IPC writes interrupt context information of the VP thread to a specified location in memory.
    Type: Application
    Filed: November 1, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139858
    Abstract: A technique for handling queued interrupts includes accumulating respective backlog counts for respective event paths. The background counts track a number of events received but not delivered as interrupts to associated virtual processor (VP) threads. In response to a lowering of an operating priority (OP) of a VP thread (VPT), a scan backlog (SB) message is received that identifies the VPT and specifies a current operating priority for the VPT. In response to receiving the SB message, a linked list of event paths associated with the VPT is scanned to search for backlog events that have a higher priority than the current OP for the VPT. In response to a backlog event being located that has a higher priority than the current OP of the VPT, an interrupt to the VPT is initiated starting with a highest priority event path and the backlog count for the VPT is decremented.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139859
    Abstract: A method of handling interrupts includes receiving an event notification message (ENM) that specifies a level, an event target number (ETN), and a number of bits to ignore. A group of virtual processor threads that may be potentially interrupted are determined based on the ETN, the number of bits to ignore, and a process identifier when the level specified in the ENM corresponds to a user level. The ETN identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore when determining a group of virtual processor threads that may be potentially interrupted. In response to no virtual processor thread within the group of virtual processor threads being dispatched and operating on an associated physical processor, an escalate message that includes an escalate event number is transmitted. The escalate event number is used to generate a subsequent ENM.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139853
    Abstract: A technique for handling interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM). The ENM specifies a level, an event target number, and a number of bits to ignore. The IPC determines a group of virtual processor threads that may be potentially interrupted based on the event target number, the number of bits to ignore, and a process identifier (ID) when the level specified in the ENM corresponds to a user level. The event target number identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139854
    Abstract: A technique for handling interrupts includes receiving an event notification message (ENM) that specifies an event target number (ETN) and a number of bits to ignore (NBI). The ETN identifies a specific virtual processor thread (VPT) and the NBI identifies the number of lower-order bits of the specific VPT to ignore when determining a group of VPTs that may be potentially interrupted. In response to two or more VPTs within the group of VPTs being dispatched and operating on an associated physical processor, whether multiple of the two or more VPTs do not have a pending interrupt is determined. In response to determining that multiple of the two or more VPTs do not have a pending interrupt, one of the two or more VPTs is selected to service an interrupt associated with the ENM based, at least in part, on respective preferred bits for the two or more VPTs.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER, STUART Z. JACOBS, WADE B. OUREN
  • Publication number: 20170139855
    Abstract: A method of handling interrupts in a data processing system includes maintaining a first interrupt destination buffer (IDB) for a first interrupt handler routine (IHR) and a second IDB for a second IHR. Whether a received interrupt is associated with the first IHR or the second IHR is determined. In response to the received interrupt being associated with the first IHR, event information associated with the received interrupt is stored in the first IDB. In response to the received interrupt being associated with the second IHR, the event information associated with the received interrupt in stored in the second IDB.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139857
    Abstract: A technique for handling interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM). The ENM specifies an event target number, a number of bits to ignore, an event source number, and an event priority. The IPC determines a group of virtual processor threads that may be potentially interrupted based on the event target number and the number of bits to ignore specified in the ENM. The event target number identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139862
    Abstract: A technique for handling queued interrupts includes accumulating, by an interrupt routing controller (IRC), respective backlog counts for respective event paths. The background counts track a number of events received but not delivered as interrupts to associated virtual processor (VP) threads upon which respective target interrupt handlers execute. An increment backlog (IB) message is received by the IRC. In response to receiving the TB message, the IRC determines an associated saturate value for an event path specified in the D3 message. The IRC increments an associated backlog count for the event path specified in the D3 message as long as the associated backlog count does not exceed the associated saturate value.
    Type: Application
    Filed: November 1, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170139860
    Abstract: A technique for handling interrupts in a data processing system includes maintaining, at an interrupt presentation controller (IPC), an interrupt acknowledge count (IAC). The IAC provides an indication of a number of times a virtual processor thread implemented at a first software stack level has been interrupted in response to receipt of event notification messages (ENMs) from an interrupt source controller (ISC). In response to the IAC reaching a threshold level, the IPC transmits an escalate message to the ISC. The escalate message includes an escalate event number that is used by the ISC to generate a new ENM that targets a second software stack level that is different than the first software stack level and is associated with another virtual processor thread.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER, BRUCE MEALEY
  • Publication number: 20170139861
    Abstract: A technique for escalating interrupts in a data processing system includes receiving, at an interrupt presentation controller (IPC), an event notification message (ENM) that specifies a level, an event target number, a number of bits to ignore, and an event priority. A group of virtual processor threads that may be potentially interrupted is determined based on the event target number, the number of bits to ignore, the level, and a process identifier (ID) when the level specified in the ENM corresponds to a user level. In response to the event priority in the ENM not being greater than an operating priority of at least one virtual processor thread in the group of virtual processor threads, an escalate message that includes an escalate event number (EEN), sourced from an interrupt context table of the IPC, is issued. The EEN is used by an interrupt source controller to generate another ENM.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 18, 2017
    Inventors: RICHARD L. ARNDT, FLORIAN A. AUERNHAMMER
  • Publication number: 20170103021
    Abstract: A device for multi-stage translation of prefetch requests includes a prefetch queue for providing queued prefetch requests, each of the queued prefetch requests including N different control entries; N serial-connected translation stages for the translation of N control entries of one of the queued prefetch requests into a translated prefetch request, wherein a translation in a i-th translation stage is dependent on a translation in a (i-1)-th translation stage, i?[1, . . . ,N]; and a prefetch issuer which is configured to control an index for each of the N different control entries in the prefetch queue and to issue a prefetch of the indexed control entry of the N different control entries for the highest non-stalled translation stage.
    Type: Application
    Filed: December 20, 2016
    Publication date: April 13, 2017
    Inventors: Florian A. Auernhammer, Patricia M. Sagmeister
  • Patent number: 9575913
    Abstract: A technique for handling cache-inhibited operations in a data processing system includes receiving, at a topology specific replicated bus unit, a cache-inhibited (CI) operation that is scope limited. The replicated bus unit determines whether an address associated with the CI operation matches an address for the replicated bus unit. In response to the address associated with the CI operation matching the address for the replicated bus unit, the replicated bus unit processes the CI operation based on the scope being limited to that of the replicated bus unit. In response to the address associated with the CI operation not matching the address for the replicated bus unit, the replicated bus unit ignores the CI operation.
    Type: Grant
    Filed: December 7, 2015
    Date of Patent: February 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Richard L. Arndt, Florian Auernhammer, Hugh Shen, Derek E. Williams
  • Patent number: 9563563
    Abstract: A device for multi-stage translation of prefetch requests includes a prefetch queue for providing queued prefetch requests, each of the queued prefetch requests including N different control entries; N serial-connected translation stages for the translation of N control entries of one of the queued prefetch requests into a translated prefetch request, wherein a translation in a i-th translation stage is dependent on a translation in a (i?1)-th translation stage, i?[1, . . . , N]; and a prefetch issuer which is configured to control an index for each of the N different control entries in the prefetch queue and to issue a prefetch of the indexed control entry of the N different control entries for the highest non-stalled translation stage.
    Type: Grant
    Filed: October 29, 2013
    Date of Patent: February 7, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Florian A. Auernhammer, Patricia M. Sagmeister