Patents by Inventor Jeffrey A. Stuecheli

Jeffrey A. Stuecheli 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: 9495314
    Abstract: In one or more embodiments, one or more systems, devices, methods, and/or processes described can send, via an interconnect, a rate master command to at least one of multiple processing nodes; determine that a message indicating a dropped command, associated with the rate master command, is received; determine that a count, associated with dropped commands, satisfies a threshold; and provide, to the processing nodes via the interconnect, a signal indicating a command rate, in response to determining that the count satisfies the threshold. Moreover, the count can be incremented in response to determining that the message is received. The at least one of multiple processing nodes can receive, via the interconnect, the signal indicating the command rate and can utilize the command rate in issuing speculative commands, via the interconnect.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Paul A. Ganfield, Guy L. Guthrie, John T. Hollaway, Jr., David J. Krolak, Charles F. Marino, Praveen S. Reddy, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 9495312
    Abstract: In one or more embodiments, one or more systems, devices, methods, and/or processes described can send, via an interconnect, a rate master command to at least one of multiple processing nodes; determine that a message indicating a dropped command, associated with the rate master command, is received; determine that a count, associated with dropped commands, satisfies a threshold; and provide, to the processing nodes via the interconnect, a signal indicating a command rate, in response to determining that the count satisfies the threshold. Moreover, the count can be incremented in response to determining that the message is received. The at least one of multiple processing nodes can receive, via the interconnect, the signal indicating the command rate and can utilize the command rate in issuing speculative commands, via the interconnect.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: November 15, 2016
    Assignee: International Business Machines Corporation
    Inventors: Paul A. Ganfield, Guy L. Guthrie, John T. Hollaway, Jr., David J. Krolak, Charles F. Marino, Praveen S. Reddy, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 9483424
    Abstract: Embodiments of the present disclosure use non-blocking writes (NBWs) to send high priority information (e.g., cache writebacks) on a designated channel that is separate from a channel used for other commands (e.g., normal memory write commands). By using NBWs and a designated channel to send cache writebacks, the cache writebacks will not be blocked by normal memory write commands. For example, an endpoint device may indicate that a TLP includes an NBW. Based on the indication, the root complex may send the NBWs on a dedicated NBW channel such that the NBW is not blocked by normal memory writes.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: November 1, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles R. Johns, Eric N. Lais, Jeffrey A. Stuecheli
  • Patent number: 9483403
    Abstract: A technique for operating a memory system for a node includes interrogating, by a cache, an associated cache directory to determine whether a shared cache line to be installed in the cache is associated with an invalid global state in the cache. The invalid global state specifies that a version of the shared cache line has been intervened off-node. In response to the shared cache line being in the invalid global state the cache spawns a castout invalid global command for the shared cache line. The shared cache line is installed in the cache. A coherence state for the shared cache line is updated in the associated cache directory to indicate the shared cache line is shared.
    Type: Grant
    Filed: June 17, 2014
    Date of Patent: November 1, 2016
    Assignee: International Business Machines Corporation
    Inventors: Guy L. Guthrie, Hien Minh Le, Jeffrey A. Stuecheli, Phillip G. Williams
  • Patent number: 9471410
    Abstract: In a data processing system, a memory subsystem detects whether or not at least one potentially transient condition is present that would prevent timely servicing of one or more memory access requests directed to the associated system memory. In response to detecting at least one such potentially transient condition, the memory system identifies a first read request affected by the at least one potentially transient condition. In response to identifying the read request, the memory subsystem signals to a request source to issue a second read request for the same target address by transmitting to the request source dummy data and a data error indicator.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: John S. Dodson, Benjiman L. Goodman, Guy L. Guthrie, Eric E. Retter, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 9465744
    Abstract: A technique for data prefetching for a multi-core chip includes determining memory utilization of the multi-core chip. In response to the memory utilization of the multi-core chip exceeding a first level, data prefetching for the multi-core chip is modified from a first data prefetching arrangement to a second data prefetching arrangement to minimize unused prefetched cache lines. In response to the memory utilization of the multi-core chip not exceeding the first level, the first data prefetching arrangement is maintained. The first and second data prefetching arrangements are different.
    Type: Grant
    Filed: July 29, 2014
    Date of Patent: October 11, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jason Nathaniel Dale, Miles R. Dooley, Richard J Eickemeyer, Jr., John Barry Griswell, Jr., Francis Patrick O'Connell, Jeffrey A. Stuecheli
  • Patent number: 9390013
    Abstract: A coherent attached processor proxy (CAPP) of a primary coherent system receives a memory access request specifying a target address in the primary coherent system from an attached processor (AP) external to the primary coherent system. The CAPP includes a CAPP directory of contents of a cache memory in the AP that holds copies of memory blocks belonging to a coherent address space of the primary coherent system. In response to the memory access request, the CAPP performs a first determination of a coherence state for the target address and allocates a master machine to service the memory access request in accordance with the first determination. Thereafter, during allocation of the master machine, the CAPP updates the coherence state and performs a second determination of the coherence state. The master machine services the memory access request in accordance with the second determination.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: July 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Bartholomew Blaner, David W. Cummings, Michael S. Siegel, Jeffrey A. Stuecheli
  • Patent number: 9384146
    Abstract: A unified request queue includes multiple entries for servicing multiple types of requests. Each of the entries of the unified request queue is generally allocable to requests of any of the multiple request types. A number of entries in the unified request queue is reserved for a first request type among the multiple types of requests. The number of entries reserved for the first request type is dynamically varied based on a number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.
    Type: Grant
    Filed: September 25, 2013
    Date of Patent: July 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Benjiman L. Goodman, Harrison M. McCreary, Eric E. Retter, Steven L. Roberts, Jeffrey A. Stuecheli
  • Patent number: 9384136
    Abstract: A prefetch stream is established in a prefetch unit of a memory controller for a system memory at a lowest level of a volatile memory hierarchy of the data processing system based on a memory access request received from a processor core. The memory controller receives an indication of an upcoming high latency event affecting access to the system memory. In response to the indication, the memory controller temporarily increases a prefetch depth of the prefetch stream with respect to the system memory and issues, to the system memory, a plurality of prefetch requests in accordance with the temporarily increased prefetch depth in advance of the upcoming high latency event.
    Type: Grant
    Filed: April 12, 2013
    Date of Patent: July 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: John S Dodson, Miles R. Dooley, Benjiman L. Goodman, Jody B. Joyner, Stephen J. Powell, Eric E. Retter, Jeffrey A. Stuecheli
  • Patent number: 9384157
    Abstract: A request to send a message from a first component, located on a first processor, to a second component, located on a second processor, is received. It is determined that the second processor can be communicated with via a first bidirectional communication path. It is determined that bandwidth is available on the first bidirectional communication path. It is determined that bandwidth is available on a second bidirectional communication path. In response to a determination that bandwidth is available on the second bidirectional communication path, a data path is created between the first component and the second bidirectional communication path and the request to send the message to the second component is granted. In response to a determination that bandwidth is not available on the first bidirectional communication path or on the second bidirectional communication path, the grant of the request to send the message to the second component is delayed.
    Type: Grant
    Filed: September 12, 2014
    Date of Patent: July 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Robert C. Dixon, Lonny J. Lambrecht, Charles F. Marino, Jeffrey A. Stuecheli
  • Patent number: 9378144
    Abstract: A prefetch stream is established in a prefetch unit of a memory controller for a system memory at a lowest level of a volatile memory hierarchy of the data processing system based on a memory access request received from a processor core. The memory controller receives an indication of an upcoming high latency event affecting access to the system memory. In response to the indication, the memory controller temporarily increases a prefetch depth of the prefetch stream with respect to the system memory and issues, to the system memory, a plurality of prefetch requests in accordance with the temporarily increased prefetch depth in advance of the upcoming high latency event.
    Type: Grant
    Filed: September 25, 2013
    Date of Patent: June 28, 2016
    Assignee: International Business Machines Corporation
    Inventors: John S Dodson, Miles R. Dooley, Benjiman L. Goodman, Jody B. Joyner, Stephen J. Powell, Eric E. Retter, Jeffrey A. Stuecheli
  • Publication number: 20160179591
    Abstract: A processor core of a data processing system receives a push instruction of a sending thread that requests that a message payload identified by at least one operand of the push instruction be pushed to a mailbox of a receiving thread. In response to receiving the push instruction, the processor core executes the push instruction of the sending thread. In response to executing the push instruction, the processor core initiates transmission of the message payload to the mailbox of the receiving thread. In one embodiment, the processor core initiates transmission of the message payload by transmitting a co-processor request to a switch of the data processing system via an interconnect fabric.
    Type: Application
    Filed: December 23, 2014
    Publication date: June 23, 2016
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: LAKSHMINARAYANA B. ARIMILLI, BERNARD C. DRERUP, BRADLY G. FREY, GUY L. GUTHRIE, JOHN D. IRISH, WILLIAM J. STARKE, JEFFREY A. STUECHELI
  • Publication number: 20160179698
    Abstract: According to embodiments of the present disclosure, a method for invalidating an address translation entry in an effective address to real address translation table (ERAT) for a computer memory can include receiving a first invalidation request. According to some embodiments, the method may also include determining that a first entry in the ERAT corresponds with the first invalidation request, wherein the ERAT has a plurality of entries, each entry in the plurality of entries having an indicator. In particular embodiments, the method may then determine that a first indicator associated with the first entry indicates that the first entry is not being used by any of a plurality of memory access entities (MAE), wherein a first MAE can concurrently use a same entry as a second MAE. The first entry may then be invalidated in response to determining that the first entry is not being used.
    Type: Application
    Filed: June 1, 2015
    Publication date: June 23, 2016
    Inventors: Bartholomew Blaner, Jay G. Heaslip, Kenneth A. Lauricella, Jeffrey A. Stuecheli
  • Publication number: 20160179593
    Abstract: A processor core of a data processing system receives a push instruction of a sending thread that requests that a message payload identified by at least one operand of the push instruction be pushed to a mailbox of a receiving thread. In response to receiving the push instruction, the processor core executes the push instruction of the sending thread. In response to executing the push instruction, the processor core initiates transmission of the message payload to the mailbox of the receiving thread. In one embodiment, the processor core initiates transmission of the message payload by transmitting a co-processor request to a switch of the data processing system via an interconnect fabric.
    Type: Application
    Filed: June 8, 2015
    Publication date: June 23, 2016
    Inventors: LAKSHMINARAYANA B. ARIMILLI, BERNARD C. DRERUP, BRADLY G. FREY, GUY L. GUTHRIE, JOHN D. IRISH, WILLIAM J. STARKE, JEFFREY A. STUECHELI
  • Publication number: 20160179694
    Abstract: According to embodiments of the present disclosure, a method for invalidating an address translation entry in an effective address to real address translation table (ERAT) for a computer memory can include receiving a first invalidation request. According to some embodiments, the method may also include determining that a first entry in the ERAT corresponds with the first invalidation request, wherein the ERAT has a plurality of entries, each entry in the plurality of entries having an indicator. In particular embodiments, the method may then determine that a first indicator associated with the first entry indicates that the first entry is not being used by any of a plurality of memory access entities (MAE), wherein a first MAE can concurrently use a same entry as a second MAE. The first entry may then be invalidated in response to determining that the first entry is not being used.
    Type: Application
    Filed: December 19, 2014
    Publication date: June 23, 2016
    Inventors: Bartholomew Blaner, Jay G. Heaslip, Kenneth A. Lauricella, Jeffrey A. Stuecheli
  • Publication number: 20160179518
    Abstract: In at least some embodiments, a processor core executes a sending thread including a first push instruction and a second push instruction subsequent to the first push instruction in a program order. Each of the first and second push instructions requests that a respective message payload be pushed to a mailbox of a receiving thread. In response to executing the first and second push instructions, the processor core transmits respective first and second co-processor requests to a switch in the data processing system via an interconnect fabric of the data processing system. The processor core transmits the second co-processor request to the switch without regard to acceptance of the first co-processor request by the switch.
    Type: Application
    Filed: June 8, 2015
    Publication date: June 23, 2016
    Inventors: LAKSHMINARAYANA B. ARIMILLI, BERNARD C. DRERUP, GUY L. GUTHRIE, JOHN D. IRISH, WILLIAM J. STARKE, JEFFREY A. STUECHELI
  • Publication number: 20160179517
    Abstract: In at least some embodiments, a processor core executes a sending thread including a first push instruction and a second push instruction subsequent to the first push instruction in a program order. Each of the first and second push instructions requests that a respective message payload be pushed to a mailbox of a receiving thread. In response to executing the first and second push instructions, the processor core transmits respective first and second co-processor requests to a switch in the data processing system via an interconnect fabric of the data processing system. The processor core transmits the second co-processor request to the switch without regard to acceptance of the first co-processor request by the switch.
    Type: Application
    Filed: December 23, 2014
    Publication date: June 23, 2016
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: LAKSHMINARAYANA B. ARIMILLI, BERNARD C. DRERUP, GUY L. GUTHRIE, JOHN D. IRISH, WILLIAM J. STARKE, JEFFREY A. STUECHELI
  • Patent number: 9367505
    Abstract: One or more systems, devices, methods, and/or processes described can receive, via an interconnect, messages from processing nodes, and a first portion of the messages can displace a second portion of the messages based on priorities of the first portion of messages or based on expirations times of the second portion of messages. In one example, the second portion of messages can be stored via a buffer of a fabric controller (FBC) of the interconnect, and the first portion of messages, associated with higher priorities than the second portion of messages, can displace the second portion of messages in the buffer. For instance, the second portion of messages can include speculative commands. In another example, the second portion of messages can be stored via the buffer, and the second portion of messages, associated with expiration times, can displace the second portion of messages based on the expiration times.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: June 14, 2016
    Assignee: International Business Machines Corporation
    Inventors: Guy L. Guthrie, Charles F. Marino, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 9367504
    Abstract: One or more systems, devices, methods, and/or processes described can receive, via an interconnect, messages from processing nodes and a first portion of the messages can displace a second portion of the messages based on priorities of the first portion of messages or based on expirations times of the second portion of messages. In one example, the second portion of messages can be stored via a buffer of a fabric controller (FBC) of the interconnect, and the first portion of messages, associated with higher priorities than the second portion of messages, can displace the second portion of messages in the buffer. For instance, the second portion of messages can include speculative commands. In another example, the second portion of messages can be stored via the buffer, and the second portion of messages, associated with expiration times, can displace the second portion of messages based on the expiration times.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: June 14, 2016
    Assignee: International Business Machines Corporation
    Inventors: Guy L. Guthrie, Charles F. Marino, Michael S. Siegel, William J. Starke, Jeffrey A. Stuecheli
  • Patent number: 9361240
    Abstract: A unified request queue includes multiple entries for servicing multiple types of requests. Each of the entries of the unified request queue is generally allocable to requests of any of the multiple request types. A number of entries in the unified request queue is reserved for a first request type among the multiple types of requests. The number of entries reserved for the first request type is dynamically varied based on a number of requests of the first request type rejected by the unified request queue due to allocation of entries in the unified request queue to other requests.
    Type: Grant
    Filed: April 12, 2013
    Date of Patent: June 7, 2016
    Assignee: International Business Machines Corporation
    Inventors: Benjiman L. Goodman, Harrison M. McCreary, Eric E. Retter, Steven L. Roberts, Jeffrey A. Stuecheli