Patents by Inventor Guhan Krishnan

Guhan Krishnan 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: 8862909
    Abstract: A system and method for efficient management of operating modes within an IC for optimal power and performance targets. On a same die, an SOC includes one or more processing units and a input/output (I/O) controller (IOC). The multiple interfaces within the IOC manage packets and messages according multiple different protocols. The IOC maintains an activity level for each one of the multiple interfaces. This activity level may be based at least on a respective number of transactions executed by a corresponding one of the multiple interfaces. The IOC determines a power estimate for itself based on at least the activity levels. In response to detecting a difference between the power estimate and an assigned I/O power limit for the IOC, a power manager adjusts at least respective power limits for the one or more processing units based on at least the difference.
    Type: Grant
    Filed: December 2, 2011
    Date of Patent: October 14, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Alexander J. Branover, Madhu Saravana Sibi Govindan, Guhan Krishnan, Hemant R. Mohapatra, Andrew W. Lueck
  • Patent number: 8645639
    Abstract: A hierarchical memory request stream arbitration technique merges coherent memory request streams from multiple memory request sources and arbitrates the merged coherent memory request stream with requests from a non-coherent memory request stream. In at least one embodiment of the invention, a method of generating a merged memory request stream from a plurality of memory request streams includes merging coherent memory requests into a first serial memory request stream. The method includes selecting, by a memory controller circuit, a memory request for placement in the merged memory request stream from at least the first serial memory request stream and a merged non-coherent request stream. The merged non-coherent memory request stream is based on an indicator of a previous memory request selected for placement in the merged memory request stream.
    Type: Grant
    Filed: August 31, 2012
    Date of Patent: February 4, 2014
    Assignees: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Guhan Krishnan, Antonio Asaro, Don Cherepacha, Thomas R. Kunjan, Joerg Winkler, Ralf Flemming, Maurice B. Steinman, Jonathan Owen, John Kalamatianos
  • Patent number: 8607104
    Abstract: A memory loopback system and method including an address/command transmit source configured to transmit a command and associated address through an address/command path. A transmit data source is configured to transmit write data associated with the command through a write path. Test control logic is configured to generate gaps between successive commands. A loopback connection is configured to route the write data from the write path to a read path. A data comparator is configured to compare the data received via the read path to a receive data source and generate a data loopback status output. Pattern generation logic can be configured to generate a loopback strobe, the loopback strobe being coupled to the read path. The pattern generation logic may be configured to synthesize a read strobe based on the test control logic and to use the synthesized read strobe as the loopback strobe.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: December 10, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Hanwoo Cho, Tahsin Askar, Philip E. Madrid, Guhan Krishnan, Brian W. Amick, Shawn Searles, Ryan J. Hensley
  • Patent number: 8589629
    Abstract: A system and method for data allocation in a shared cache memory of a computing system are contemplated. Each cache way of a shared set-associative cache is accessible to multiple sources, such as one or more processor cores, a graphics processing unit (GPU), an input/output (I/O) device, or multiple different software threads. A shared cache controller enables or disables access separately to each of the cache ways based upon the corresponding source of a received memory request. One or more configuration and status registers (CSRs) store encoded values used to alter accessibility to each of the shared cache ways. The control of the accessibility of the shared cache ways via altering stored values in the CSRs may be used to create a pseudo-RAM structure within the shared cache and to progressively reduce the size of the shared cache during a power-down sequence while the shared cache continues operation.
    Type: Grant
    Filed: March 27, 2009
    Date of Patent: November 19, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jonathan Owen, Guhan Krishnan, Carl D. Dietz, Douglas Richard Beard, William K. Lewchuk, Alexander Branover
  • Patent number: 8516305
    Abstract: Dynamic power test slave (DPTS) modules are placed at selected locations of a data processing device to provide data to a logic module of the device at a high rate during testing of the device. The DPTS module intercepts data requests targeted to another logic module and the DPTS instead provides the requested data, thus simulating data transfer by the target logic module. The simulated data transfers can provide for transitions at the data processing device from a relatively high power state to a relatively low power state. Accordingly, the DPTS modules allow for simulation of expected normal operating conditions during testing of the data processing device.
    Type: Grant
    Filed: September 1, 2010
    Date of Patent: August 20, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Sebastien Nussbaum, Guhan Krishnan
  • Publication number: 20130151869
    Abstract: A system and method for efficient management of resources within a semiconductor chip for an optimal combination of power reduction and high performance. An intergrated circuit, such as a system on a chip (SOC), includes at least two processing units. The second processing unit includes a cache. The SOC includes a power management unit (PMU) that determines whether a first activity level for the first processing unit is above a first threshold and a second activity level for the second processing unit is below a second threshold. If this condition is true, then the PMU places a limit on a highest power-performance state (P-state) used by the second processing unit. The PMU sends an indication to flush the at least one cache within the second processing unit. The PMU changes a P-state used by the first processing unit to a higher performance P-state.
    Type: Application
    Filed: January 27, 2012
    Publication date: June 13, 2013
    Inventors: Maurice B. Steinman, Alexander J. Branover, Guhan Krishnan
  • Publication number: 20130145180
    Abstract: A system and method for efficient management of operating modes within an IC for optimal power and performance targets. On a same die, an SOC includes one or more processing units and a input/output (I/O) controller (IOC). The multiple interfaces within the IOC manage packets and messages according multiple different protocols. The IOC maintains an activity level for each one of the multiple interfaces. This activity level may be based at least on a respective number of transactions executed by a corresponding one of the multiple interfaces. The IOC determines a power estimate for itself based on at least the activity levels. In response to detecting a difference between the power estimate and an assigned I/O power limit for the IOC, a power manager adjusts at least respective power limits for the one or more processing units based on at least the difference.
    Type: Application
    Filed: December 2, 2011
    Publication date: June 6, 2013
    Inventors: Alexander J. Branover, Madhu Saravana Sibi Govindan, Guhan Krishnan, Hemant R. Mohapatra, Andrew W. Lueck
  • Publication number: 20120331226
    Abstract: A hierarchical memory request stream arbitration technique merges coherent memory request streams from multiple memory request sources and arbitrates the merged coherent memory request stream with requests from a non-coherent memory request stream. In at least one embodiment of the invention, a method of generating a merged memory request stream from a plurality of memory request streams includes merging coherent memory requests into a first serial memory request stream. The method includes selecting, by a memory controller circuit, a memory request for placement in the merged memory request stream from at least the first serial memory request stream and a merged non-coherent request stream. The merged non-coherent memory request stream is based on an indicator of a previous memory request selected for placement in the merged memory request stream.
    Type: Application
    Filed: August 31, 2012
    Publication date: December 27, 2012
    Inventors: Guhan Krishnan, Antonio Asaro, Don Cherepacha, Thomas R. Kunjan, Joerg Winkler, Ralf Flemming, Maurice B. Steinman, Jonathan Owen, John Kalamatianos
  • Patent number: 8341344
    Abstract: A technique of accessing a resource includes receiving, at a master scheduler, resource access requests. The resource access requests are translated into respective slave state machine work orders that each include one or more respective commands. The respective commands are assigned, for execution, to command streams associated with respective slave state machines. The respective commands are then executed responsive to the respective slave state machines.
    Type: Grant
    Filed: September 21, 2007
    Date of Patent: December 25, 2012
    Inventors: Guhan Krishnan, John Kalamatianos
  • Publication number: 20120290800
    Abstract: A method and apparatus for training read latency of a memory are disclosed. A memory controller includes a command FIFO configured to convey commands to a memory, a data queue coupled to receive data from the memory, and a register configured to provide a value indicative of a number of cycles of a first clock signal after which data is valid. During a startup routine, the memory controller is configured to compare data received by the data queue to a known data pattern after a specified number of cycles of the first clock signal have elapsed. The memory controller is further to configured to decrement the first value and repeat conveying and comparing if the data received matches the data pattern. If the received data does not match the data pattern for any attempted read of the memory, the memory controller is configured to program a second value into the register.
    Type: Application
    Filed: May 12, 2011
    Publication date: November 15, 2012
    Inventors: Guhan Krishnan, Jonathan M. Owen, Brian Amick, Hanwoo Cho
  • Patent number: 8266389
    Abstract: A hierarchical memory request stream arbitration technique merges coherent memory request streams from multiple memory request sources and arbitrates the merged coherent memory request stream with requests from a non-coherent memory request stream. In at least one embodiment of the invention, a method of generating a merged memory request stream from a plurality of memory request streams includes merging coherent memory requests into a first serial memory request stream. The method includes selecting, by a memory controller circuit, a memory request for placement in the merged memory request stream from at least the first serial memory request stream and a merged non-coherent request stream. The merged non-coherent memory request stream is at least partially based on an indicator of a previous memory request selected for placement in the merged memory request stream.
    Type: Grant
    Filed: April 29, 2009
    Date of Patent: September 11, 2012
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Guhan Krishnan, Antonio Asaro, Don Cherepacha, Thomas R. Kunjan, Joerg Winkler, Ralf Flemming, Maurice B. Steinman, Jonathan Owen, John Kalamatianos
  • Publication number: 20120159271
    Abstract: A memory loopback system and method including an address/command transmit source configured to transmit a command and associated address through an address/command path. A transmit data source is configured to transmit write data associated with the command through a write path. Test control logic is configured to generate gaps between successive commands. A loopback connection is configured to route the write data from the write path to a read path. A data comparator is configured to compare the data received via the read path to a receive data source and generate a data loopback status output. Pattern generation logic can be configured to generate a loopback strobe, the loopback strobe being coupled to the read path. The pattern generation logic may be configured to synthesize a read strobe based on the test control logic and to use the synthesized read strobe as the loopback strobe.
    Type: Application
    Filed: December 20, 2010
    Publication date: June 21, 2012
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Hanwoo Cho, Tahsin Askar, Philip E. Madrid, Guhan Krishnan, Brian W. Amick, Shawn Searles, Ryan J. Hensley
  • Patent number: 8176352
    Abstract: Two clock domains of a data processing device are each synchronized with a different clock signal. The clock signals are generated by clock generation logic. The clock generation logic also generates a transfer enable signal based on the relative frequency of each clock signal to indicate when data can be transferred between the clock domains. Further, as the relative frequency of the clock signals change, the timing of the transfer enable signal also changes to ensure reliable data transfer.
    Type: Grant
    Filed: April 16, 2008
    Date of Patent: May 8, 2012
    Assignee: Adavanced Micro Devices, Inc.
    Inventors: Kevin Gillespie, Guhan Krishnan, Maurice Steinman, Spencer Gold, Bill K. C. Kwan
  • Publication number: 20120054547
    Abstract: Dynamic power test slave (DPTS) modules are placed at selected locations of a data processing device to provide data to a logic module of the device at a high rate during testing of the device. The DPTS module intercepts data requests targeted to another logic module and the DPTS instead provides the requested data, thus simulating data transfer by the target logic module. The simulated data transfers can provide for transitions at the data processing device from a relatively high power state to a relatively low power state. Accordingly, the DPTS modules allow for simulation of expected normal operating conditions during testing of the data processing device.
    Type: Application
    Filed: September 1, 2010
    Publication date: March 1, 2012
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Sebastien Nussbaum, Guhan Krishnan
  • Patent number: 7840821
    Abstract: Requests to an operational module are received at a monitoring device, where an estimated amount of energy expected to be consumed by the operational module while executing operations related to requests is accumulated for a sliding time window. A throttle signal is generated to limit the amount of energy consumed by the operation module is generated when the accumulated amount exceeds a maximum amount.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: November 23, 2010
    Inventors: Guhan Krishnan, Sebastien Nussbaum
  • Publication number: 20100281231
    Abstract: A hierarchical memory request stream arbitration technique merges coherent memory request streams from multiple memory request sources and arbitrates the merged coherent memory request stream with requests from a non-coherent memory request stream. In at least one embodiment of the invention, a method of generating a merged memory request stream from a plurality of memory request streams includes merging coherent memory requests into a first serial memory request stream. The method includes selecting, by a memory controller circuit, a memory request for placement in the merged memory request stream from at least the first serial memory request stream and a merged non-coherent request stream. The merged non-coherent memory request stream is at least partially based on an indicator of a previous memory request selected for placement in the merged memory request stream.
    Type: Application
    Filed: April 29, 2009
    Publication date: November 4, 2010
    Inventors: Guhan Krishnan, Antonio Asaro, Don Cherepacha, Thomas R. Kunjan, Joerg Winkler, Ralf Flemming, Maurice B. Steinman, Jonathan Owen, John Kalamatianos
  • Publication number: 20100250856
    Abstract: A system and method for data allocation in a shared cache memory of a computing system are contemplated. Each cache way of a shared set-associative cache is accessible to multiple sources, such as one or more processor cores, a graphics processing unit (GPU), an input/output (I/O) device, or multiple different software threads. A shared cache controller enables or disables access separately to each of the cache ways based upon the corresponding source of a received memory request. One or more configuration and status registers (CSRs) store encoded values used to alter accessibility to each of the shared cache ways. The control of the accessibility of the shared cache ways via altering stored values in the CSRs may be used to create a pseudo-RAM structure within the shared cache and to progressively reduce the size of the shared cache during a power-down sequence while the shared cache continues operation.
    Type: Application
    Filed: March 27, 2009
    Publication date: September 30, 2010
    Inventors: Jonathan Owen, Guhan Krishnan, Carl D. Dietz, Douglas Richard Beard, William K. Lewchuk, Alexander Branover
  • Publication number: 20090261869
    Abstract: Two clock domains of a data processing device are each synchronized with a different clock signal. The clock signals are generated by clock generation logic. The clock generation logic also generates a transfer enable signal based on the relative frequency of each clock signal to indicate when data can be transferred between the clock domains. Further, as the relative frequency of the clock signals change, the timing of the transfer enable signal also changes to ensure reliable data transfer.
    Type: Application
    Filed: April 16, 2008
    Publication date: October 22, 2009
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Kevin GILLESPIE, Guhan KRISHNAN, Maurice STEINMAN, Spencer GOLD, Bill K.C. KWAN
  • Publication number: 20090083741
    Abstract: A technique of accessing a resource includes receiving, at a master scheduler, resource access requests. The resource access requests are translated into respective slave state machine work orders that each include one or more respective commands. The respective commands are assigned, for execution, to command streams associated with respective slave state machines. The respective commands are then executed responsive to the respective slave state machines.
    Type: Application
    Filed: September 21, 2007
    Publication date: March 26, 2009
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Guhan Krishnan, John Kalamatianos
  • Publication number: 20080288123
    Abstract: Requests to an operational module are received at a monitoring device, where an estimated amount of energy expected to be consumed by the operational module while executing operations related to requests is accumulated for a sliding time window.
    Type: Application
    Filed: May 18, 2007
    Publication date: November 20, 2008
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Guhan Krishnan, Sebastien Nussbaum