Patents by Inventor Sridhar P. Subramanian

Sridhar P. Subramanian 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).

  • Publication number: 20100161905
    Abstract: In one embodiment, a system comprises a plurality of agents coupled to an interconnect and a cache coupled to the interconnect. The plurality of agents are configured to cache data. A first agent of the plurality of agents is configured to initiate a transaction on the interconnect by transmitting a memory request, and other agents of the plurality of agents are configured to snoop the memory request from the interconnect. The other agents provide a response in a response phase of the transaction on the interconnect. The cache is configured to detect a hit for the memory request and to provide data for the transaction to the first agent prior to the response phase and independent of the response.
    Type: Application
    Filed: March 1, 2010
    Publication date: June 24, 2010
    Inventors: Brian P. Lilly, Sridhar P. Subramanian, Ramesh Gunna
  • Patent number: 7702858
    Abstract: In one embodiment, a system comprises a plurality of agents coupled to an interconnect and a cache coupled to the interconnect. The plurality of agents are configured to cache data. A first agent of the plurality of agents is configured to initiate a transaction on the interconnect by transmitting a memory request, and other agents of the plurality of agents are configured to snoop the memory request from the interconnect. The other agents provide a response in a response phase of the transaction on the interconnect. The cache is configured to detect a hit for the memory request and to provide data for the transaction to the first agent prior to the response phase and independent of the response.
    Type: Grant
    Filed: June 5, 2007
    Date of Patent: April 20, 2010
    Assignee: Apple Inc.
    Inventors: Brian P. Lilly, Sridhar P. Subramanian, Ramesh Gunna
  • Publication number: 20090177846
    Abstract: An interface unit may comprise a buffer configured to store requests that are to be transmitted on an interconnect and a control unit coupled to the buffer. In one embodiment, the control unit is coupled to receive a retry response from the interconnect during a response phase of a first transaction for a first request stored in the buffer. The control unit is configured to record an identifier supplied on the interconnect with the retry response that identifies a second transaction that is in progress on the interconnect. The control unit is configured to inhibit reinitiation of the first transaction at least until detecting a second transmission of the identifier. In another embodiment, the control unit is configured to assert a retry response during a response phase of a first transaction responsive to a snoop hit of the first transaction on a first request stored in the buffer for which a second transaction is in progress on the interconnect.
    Type: Application
    Filed: March 20, 2009
    Publication date: July 9, 2009
    Inventors: James B. Keller, Sridhar P. Subramanian, Ramesh Gunna
  • Patent number: 7529866
    Abstract: An interface unit may comprise a buffer configured to store requests that are to be transmitted on an interconnect and a control unit coupled to the buffer. In one embodiment, the control unit is coupled to receive a retry response from the interconnect during a response phase of a first transaction for a first request stored in the buffer. The control unit is configured to record an identifier supplied on the interconnect with the retry response that identifies a second transaction that is in progress on the interconnect. The control unit is configured to inhibit reinitiation of the first transaction at least until detecting a second transmission of the identifier. In another embodiment, the control unit is configured to assert a retry response during a response phase of a first transaction responsive to a snoop hit of the first transaction on a first request stored in the buffer for which a second transaction is in progress on the interconnect.
    Type: Grant
    Filed: November 17, 2005
    Date of Patent: May 5, 2009
    Assignee: P.A. Semi, Inc.
    Inventors: James B. Keller, Sridhar P. Subramanian, Ramesh Gunna
  • Publication number: 20090055568
    Abstract: In one embodiment, a switch is configured to be coupled to an interconnect. The switch comprises a plurality of storage locations and an arbiter control circuit coupled to the plurality of storage locations. The plurality of storage locations are configured to store a plurality of requests transmitted by a plurality of agents. The arbiter control circuit is configured to arbitrate among the plurality of requests stored in the plurality of storage locations. A selected request is the winner of the arbitration, and the switch is configured to transmit the selected request from one of the plurality of storage locations onto the interconnect. In another embodiment, a system comprises a plurality of agents, an interconnect, and the switch coupled to the plurality of agents and the interconnect. In another embodiment, a method is contemplated.
    Type: Application
    Filed: October 31, 2008
    Publication date: February 26, 2009
    Inventors: Sridhar P. Subramanian, James B. Keller, Ruchi Wadhawan, George Kong Yiu, Ramesh Gunna
  • Publication number: 20080307286
    Abstract: In one embodiment, an apparatus comprises a check/correct circuit coupled to a control circuit. The check/correct circuit is coupled to receive a block of data and corresponding check bits. The block of data is received as N transmissions, each transmission comprising M data bits and L check bits. The check/correct circuit is configured to detect one or more errors in each of a plurality of non-overlapping windows of K bits in the M data bits, responsive to the M data bits and the L check bits. The control circuit is configured to record which of the plurality of windows have had errors detected and, if a given window of the plurality of windows has had errors detected in each of the N transmissions of the block, the control circuit is configured to signal a device failure. Each of K, L, M, and N are integers greater than one.
    Type: Application
    Filed: June 5, 2007
    Publication date: December 11, 2008
    Inventors: Brian P. Lilly, Robert Gries, Sridhar P. Subramanian, Sukalpa Biswas, Hao Chen
  • Publication number: 20080307168
    Abstract: In one embodiment, a system comprises a plurality of agents coupled to an interconnect and a cache coupled to the interconnect. The plurality of agents are configured to cache data. A first agent of the plurality of agents is configured to initiate a transaction on the interconnect by transmitting a memory request, and other agents of the plurality of agents are configured to snoop the memory request from the interconnect. The other agents provide a response in a response phase of the transaction on the interconnect. The cache is configured to detect a hit for the memory request and to provide data for the transaction to the first agent prior to the response phase and independent of the response.
    Type: Application
    Filed: June 5, 2007
    Publication date: December 11, 2008
    Inventors: Brian P. Lilly, Sridhar P. Subramanian, Ramesh Gunna
  • Publication number: 20080307276
    Abstract: In one embodiment, an apparatus comprises an interconnect; at least one processor coupled to the interconnect; and at least one memory controller coupled to the interconnect. The memory controller is programmable by the processor into a loopback test mode of operation and, in the loopback test mode, the memory controller is configured to receive a first write operation from the processor over the interconnect. The memory controller is configured to route write data from the first write operation through a plurality of drivers and receivers connected to a plurality of data pins that are capable of connection to one or more memory modules. The memory controller is further configured to return the write data as read data on the interconnect for a first read operation received from the processor on the interconnect.
    Type: Application
    Filed: June 8, 2007
    Publication date: December 11, 2008
    Inventors: Luka Bodrozic, Sukalpa Biswas, Hao Chen, Sridhar P. Subramanian, James B. Keller
  • Patent number: 7461190
    Abstract: In one embodiment, a switch is configured to be coupled to an interconnect. The switch comprises a plurality of storage locations and an arbiter control circuit coupled to the plurality of storage locations. The plurality of storage locations are configured to store a plurality of requests transmitted by a plurality of agents. The arbiter control circuit is configured to arbitrate among the plurality of requests stored in the plurality of storage locations. A selected request is the winner of the arbitration, and the switch is configured to transmit the selected request from one of the plurality of storage locations onto the interconnect. In another embodiment, a system comprises a plurality of agents, an interconnect, and the switch coupled to the plurality of agents and the interconnect. In another embodiment, a method is contemplated.
    Type: Grant
    Filed: August 11, 2005
    Date of Patent: December 2, 2008
    Assignee: P.A. Semi, Inc.
    Inventors: Sridhar P. Subramanian, James B. Keller, Ruchi Wadhawan, George Kong Yiu, Ramesh Gunna
  • Patent number: 7426601
    Abstract: In various embodiments, an apparatus comprises a plurality of agents and an interconnect. In one embodiment, the plurality of agents includes first through fourth agents. The interconnect comprises a plurality of segments that are switchable (e.g. using a plurality of selection circuits) to form communication paths between the agents, and a first segment is included in a first communication path from the first agent to the second agent, and is also included in a second communication path from the third agent to the fourth agent. In another embodiment, each segment is driven by a selection circuit. At least one selection circuit has at least one segment and an output from at least one agent as inputs. In yet another embodiment, an arbiter is configured to determine a communication path on the interconnect for each requesting agent to the destination agent over the segments.
    Type: Grant
    Filed: August 2, 2007
    Date of Patent: September 16, 2008
    Assignee: P.A. Semi, Inc.
    Inventors: Sridhar P. Subramanian, James B. Keller, George Kong Yiu, Ruchi Wadhawan
  • Publication number: 20080195884
    Abstract: In one embodiment, an apparatus to synchronously communicate on an interface that has an associated interface clock for a circuit that has an internal clock used internal to the circuit comprises a control circuit coupled to receive the internal clock and the interface clock. The control circuit is configured to sample the interface clock multiple times per clock cycle of the internal clock and to detect a phase difference, to a granularity of the samples, between the internal clock and the interface clock. The apparatus comprises a data path that is configured to transport data between an internal clock domain and an interface clock domain. The data path is configured to provide at least two different timings on the transported data relative to the internal clock. The control circuit is coupled to the data path and is configured to select one of the timings responsive to a detected phase difference.
    Type: Application
    Filed: April 26, 2007
    Publication date: August 14, 2008
    Inventors: Sridhar P. Subramanian, Sukalpa Biswas, Vincent R. von Kaenel, Priya Ananthanarayanan
  • Patent number: 7398361
    Abstract: In one embodiment, an interface unit comprises an address buffer and a control unit coupled to the address buffer. The address buffer is configured to store addresses of processor core requests generated by a processor core and addresses of snoop requests received from an interconnect. The control unit is configured to maintain a plurality of queues, wherein at least a first queue of the plurality of queues is dedicated to snoop requests and at least a second queue of the plurality of queues is dedicated to processor core requests. Responsive to a first snoop request received by the interface unit from the interconnect, the control unit is configured to allocate a first address buffer entry of the address buffer to store the first snoop request and to store a first pointer to the first address buffer entry in the first queue.
    Type: Grant
    Filed: August 30, 2005
    Date of Patent: July 8, 2008
    Assignee: P.A. Semi, Inc.
    Inventors: Ramesh Gunna, Po-Yung Chang, Sridhar P. Subramanian, James B. Keller, Tse-Yuh Yeh
  • Patent number: 7269682
    Abstract: In various embodiments, an apparatus comprises a plurality of agents and an interconnect. In one embodiment, the plurality of agents includes first through fourth agents. The interconnect comprises a plurality of segments that are switchable (e.g. using a plurality of selection circuits) to form communication paths between the agents, and a first segment is included in a first communication path from the first agent to the second agent, and is also included in a second communication path from the third agent to the fourth agent. In another embodiment, each segment is driven by a selection circuit. At least one selection circuit has at least one segment and an output from at least one agent as inputs. In yet another embodiment, an arbiter is configured to determine a communication path on the interconnect for each requesting agent to the destination agent over the segments.
    Type: Grant
    Filed: August 11, 2005
    Date of Patent: September 11, 2007
    Assignee: P.A. Semi, Inc.
    Inventors: Sridhar P. Subramanian, James B. Keller, George Kong Yiu, Ruchi Wadhawan
  • Patent number: 6741258
    Abstract: A system includes a main memory device which stores information for translating a virtual address into a physical address in response to one of a plurality of processing devices. A memory control/interface device is coupled to the main memory device. The memory control/interface device, which may access the information stored in the main memory device, has a separate translation look-aside buffer for each processing device. Each translation look-aside buffer can buffer the information for use in translating in response to the respective processing device.
    Type: Grant
    Filed: January 4, 2000
    Date of Patent: May 25, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: John C. Peck, Jr., Sridhar P. Subramanian, Scott Waldron
  • Patent number: 6686920
    Abstract: A system and method are provided for optimizing the translation of virtual addresses into physical addresses for a graphics address remapping table (GART). In the system and method, a translation look-aside buffer cache has a plurality of translation look-aside buffer entries. Each translation look-aside buffer entry is operable to buffer information which may be accessed for use in translating a virtual address into a physical address. A least recently used pointer circuit is operable to point to a translation look-aside buffer entry buffering information least recently used in the translation look-aside buffer cache. During operation, updates to the least recently used pointer circuit may be pipelined with corresponding accesses to the translation look-aside buffer cache.
    Type: Grant
    Filed: May 10, 2000
    Date of Patent: February 3, 2004
    Assignee: Advanced Micro Devices, Inc.
    Inventors: John C. Peck, Jr., Sridhar P. Subramanian, Scott Waldron
  • Patent number: 6601182
    Abstract: A control sequencer circuit issues a sequence of commands to logic devices synchronized to a response by a slave device to a command by a master device. In one instance, the control sequencer circuit is statically adjusted to the timing semantics of the acknowledgment signal of the slave device. The control sequencer circuit includes an event detector, a static sliding window, and a sequencer stage. The event detector receives an acknowledgment signal and a requester ID from a slave device and determines if it is the proper recipient. The static sliding window synchronizes the command sequence to the response by the slave device and adjusts for the timing semantics of the acknowledgment signal of the slave device. The control sequencer stage successively outputs active signals at each clock cycle, thereby generating the command sequence.
    Type: Grant
    Filed: May 12, 2000
    Date of Patent: July 29, 2003
    Assignee: Advanced Micro Devices, Inc.
    Inventors: John C. Peck, Jr., Sridhar P. Subramanian
  • Patent number: 6571318
    Abstract: A processor is described which includes a stride detect table. The stride detect table includes one or more entries, each entry used to track a potential stride pattern. Additionally, each entry includes a confidence counter. The confidence counter may be incremented each time another address in the pattern is detected, and thus may be indicative of the strength of the pattern (e.g., the likelihood of the pattern repeating). At a first threshold of the confidence counter, prefetching of the next address in the pattern (the most recent address plus the stride) may be initiated. At a second, greater threshold, a more aggressive prefetching may be initiated (e.g. the most recent address plus twice the stride). In some implementations, the prefetch mechanism including the stride detect table may replace a prefetch buffer and prefetch logic in the memory controller.
    Type: Grant
    Filed: March 2, 2001
    Date of Patent: May 27, 2003
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benjamin T. Sander, William A. Hughes, Sridhar P. Subramanian, Teik-Chung Tan
  • Patent number: 6345328
    Abstract: A gear box module or circuit can act as an interface for transferring data from a first clock domain to a second clock domain. The gear box circuit uses a level sensitive memory element coupled to an input selection circuit to receive data from logic in the first clock domain and provide the data to logic in the second clock domain. An input selection signal causes the selection circuit to select the input source for the level sensitive memory element, thereby allowing the proper signal to be provided as output to logic in the second clock domain. Additionally, the gear box can provide the proper output signal for logic in the second domain using circuitry to alternately mask the gear box output. The gear box receives control signals, including for example the input selection signal, from control circuitry. The logic in each clock domain does not have to be aware of the clock frequency on the other side of the gear box, nor does it need to be aware of the ratio of clock frequencies between clock domains.
    Type: Grant
    Filed: June 9, 1999
    Date of Patent: February 5, 2002
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ranjit J. Rozario, Sridhar P. Subramanian, Ravikrishna Cherukuri
  • Patent number: 6173378
    Abstract: A method (320) of implementing a set of ordering rules for executing requests for access to a system memory (14) includes the steps of identifying a request status (322) for a new request for access to the system memory (14) and assigning a tag to the new access request (324) based on the status of the new request. A control circuit (106) inserts the new access request (340) into one of a read buffer (302) or a write buffer (304) at a specified location within one or the read or write buffers (302, 304) based on the status of the new access request. When the new access request is enqueued (342) and sent to an arbitration circuit (306), the requests are executed in an order with another access request (344) from the other of the read or write buffer based on the request status and the tag of the new request.
    Type: Grant
    Filed: September 11, 1998
    Date of Patent: January 9, 2001
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Ranjit J. Rozario, Sridhar P. Subramanian, Ravikrishna Cherukuri