Patents by Inventor Andrew David Tune

Andrew David Tune 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: 20170185516
    Abstract: A data processing apparatus having an interconnect circuit operable to transfer snoop messages between a plurality of connected devices, at least one of which has multiple ports each coupled to a local cache. The interconnect circuit has decode logic that identifies, from an address in a snoop message, which port is coupled to the local cache associated with the address, and the interconnect circuit transmits the snoop message to that port. The interconnect circuit may also have a snoop filter that stores a snoop vector for each block of data in the local caches. Each snoop vector has an address tag that identifies the block of data and a presence vector indicative of which devices of the connected devices have a copy of the block of data. The presence vector does not identify which port of a device has access to the copy.
    Type: Application
    Filed: December 28, 2015
    Publication date: June 29, 2017
    Applicant: ARM Limited
    Inventors: Ashley Miles STEVENS, Andrew David TUNE, Daniel Adam SARA
  • Patent number: 9639470
    Abstract: An interconnect has coherency control circuitry for performing coherency control operations and a snoop filter for identifying which devices coupled to the interconnect have cached data from a given address. When an address is looked up in the snoop filter and misses, and there is no spare snoop filter entry available, then the snoop filter selects a victim entry corresponding to a victim address, and issues an invalidate transaction for invalidating locally cached copies of the data identified by the victim. The coherency control circuitry for performing coherency checking operations for data access transactions is reused for performing coherency control operations for the invalidate transaction issued by the snoop filter. This greatly reduces the circuitry complexity of the snoop filter.
    Type: Grant
    Filed: August 26, 2014
    Date of Patent: May 2, 2017
    Assignee: ARM Limited
    Inventors: Sean James Salisbury, Andrew David Tune, Jamshed Jalal, Mark David Werkheiser
  • Patent number: 9632955
    Abstract: A system-on-chip integrated circuit 2 includes interconnect circuitry 4 for communicating transactions between transaction sources and transaction destinations. A reorder buffer 26 serves to buffer and permit reordering of access transactions received from the transaction sources. Processing circuitry performs processing operations in parallel upon a given access transaction taken from the reorder buffer. Hazard detection and repair circuitry serves to detect an ordering hazard arising between the processing operations and if necessary cancel and repeat that processing operation. The access transactions and the reorder buffer are such that access transactions other than the access transaction for which a hazard has been detected may proceed independently of the necessity to cancel and repair that transaction thereby reducing the cost associated with cancelling and repair.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: April 25, 2017
    Assignee: ARM Limited
    Inventors: Arthur Laughton, Andrew David Tune, Daniel Sara
  • Publication number: 20170012901
    Abstract: Arbitrating and multiplexing circuitry for performing an arbitration between a plurality of inputs and a selection of at least one of said plurality of inputs to provide an output comprises arbitrating tree circuitry having X arbitrating levels, where X is an integer greater than one; and multiplexing tree circuitry having Y multiplexing levels, where Y is an integer greater than one; wherein (i) said Y multiplexing levels comprise a first set of said multiplexing levels upstream of a second set of said multiplexing levels; (ii) said first set of said multiplexing levels is configured to operate in parallel with at least some of said X arbitrating levels, whereby said first set of multiplexing levels is configured to perform a partial selection in parallel with said arbitration performed by said X arbitrating levels; and (iii) said second set of said multiplexing levels is configured to operate in series with said X arbitrating levels, whereby said second set of multiplexing levels completes said selection to
    Type: Application
    Filed: September 23, 2016
    Publication date: January 12, 2017
    Inventors: Andrew David TUNE, Peter Andrew RIOCREUX, Alessandro GRANDE
  • Publication number: 20160350220
    Abstract: A cache coherency controller comprises a directory indicating, for memory addresses cached by one or more of a group of one or more cache memories connectable in a coherent cache structure, which of the cache memories are caching those memory addresses; and control circuitry configured to detect a directory entry relating to a memory address to be accessed so as to coordinate, amongst the cache memories, an access to a memory address by one of the cache memories or a coherent agent in instances when the directory entry indicates that another of the cache memories is caching that memory address; the control circuitry being responsive to status data indicating whether each cache memory in the group is currently subject to cache coherency control so as to take into account, in the detection of the directory entry relating to the memory address to be accessed, only those cache memories in the group which are currently subject to cache coherency control.
    Type: Application
    Filed: April 20, 2016
    Publication date: December 1, 2016
    Inventors: Sean James SALISBURY, Andrew David TUNE
  • Publication number: 20160350219
    Abstract: A cache coherency controller comprises a directory indicating, for memory addresses cached by a group of two or more cache memories in a coherent cache structure, which of the cache memories are caching those memory addresses, the directory being associative so that multiple memory addresses map to an associative set of more than one directory entry; and control logic responsive to a memory address to be newly cached, and configured to detect whether one or more of the set of directory entries mapped to that memory address is available for storage of an indication of which of the two or more cache memories are caching that memory address; the control logic being configured so that when all of the set of directory entries mapped to that memory address are occupied, the control logic is configured to select one of the set of directory entries as a directory entry to be overwritten and the corresponding cached information to be invalidated, the control logic being configured to select a directory entry to be ove
    Type: Application
    Filed: April 20, 2016
    Publication date: December 1, 2016
    Inventors: Andrew David TUNE, Sean James SALISBURY
  • Patent number: 9507716
    Abstract: An interconnect has coherency control circuitry for performing coherency control operations and a snoop filter for identifying which devices coupled to the interconnect have cached data from a given address. When an address is looked up in the snoop filter and misses, and there is no spare snoop filter entry available, then the snoop filter selects a victim entry corresponding to a victim address, and issues an invalidate transaction for invalidating locally cached copies of the data identified by the victim. The coherency control circuitry for performing coherency checking operations for data access transactions is reused for performing coherency control operations for the invalidate transaction issued by the snoop filter. This greatly reduces the circuitry complexity of the snoop filter.
    Type: Grant
    Filed: March 6, 2015
    Date of Patent: November 29, 2016
    Assignee: ARM Limited
    Inventors: Sean James Salisbury, Andrew David Tune, Jamshed Jalal, Mark David Werkheiser, Arthur Laughton, George Robert Scott Lloyd, Peter Andrew Riocreux, Daniel Sara
  • Patent number: 9507737
    Abstract: Arbitration circuitry is provided to select an output from between multiple inputs each having an associated priority value. A tie-break value is appended to the least significant bits of each of the priority values to form extended priority values before those extended priority values are compared. Thus, if two priority values are equal, then the appended tie-break bits are used to determine which of the two inputs will be selected as having the higher priority.
    Type: Grant
    Filed: September 19, 2012
    Date of Patent: November 29, 2016
    Assignee: ARM Limited
    Inventors: Arthur Laughton, Andrew David Tune
  • Patent number: 9442878
    Abstract: A system-on-chip integrated circuitry includes interconnect circuitry for connecting transaction sources with transaction destinations. A buffer circuit buffers a plurality of access transactions received from the transaction sources before they are passed on to respective transaction destinations. Hazard checking circuitry, such as identifier reuse circuitry, performs hazard checks for access transactions in parallel with snoop operations performed by snoop circuitry for managing coherence between data values stored within the plurality of cache memories. The snoop circuitry includes snoop reordering circuitry for permitting reordering of snoop responses. The snoop circuitry may issue a snoop request for a given access transaction in parallel with the hazard checking circuitry performing one or more hazard checks for that transaction.
    Type: Grant
    Filed: April 17, 2014
    Date of Patent: September 13, 2016
    Assignee: ARM Limited
    Inventors: Daniel Sara, Andrew David Tune
  • Publication number: 20160205045
    Abstract: An apparatus is provided that includes switching circuitry having a plurality of source ports and a plurality of destination ports. The apparatus also includes arbitration circuitry for performing an arbitration operation on a plurality of requests presented at the plurality of source ports in order to determine, for at least one of the destination ports, one of the requests to be output from that destination port. The arbitration operation comprises applying a first arbitration policy in respect of requests presented by a first subset of the plurality of source ports, and a second arbitration policy in respect of requests presented by the plurality of source ports. The first arbitration policy is to reduce head-of-line blocking compared to the second arbitration policy. Consequently, it is possible to reduce head-of-line blocking while reducing the latency for delay intolerant requests presented at some of the source ports.
    Type: Application
    Filed: January 14, 2015
    Publication date: July 14, 2016
    Inventor: Andrew David TUNE
  • Publication number: 20160203094
    Abstract: There is provided an interconnect for transferring requests between ports in which the ports include both source ports destination ports. The interconnect includes storage circuitry for storing the requests. Input circuitry receives the requests from the plurality of source ports, selects at least one selected source port from an allowed set of said plurality of source ports, and transfers a presented request from the at least one selected source port to the storage circuitry. Output circuitry causes a request in said storage circuitry to be output at one of said plurality of destination ports. Counter circuitry maintains counter values for a plurality of tracked ports from amongst said ports, each counter value indicating the number of requests in said storage circuitry associated with a corresponding tracked port that are waiting to be output by said output circuitry and filter circuitry determines whether or not a given source port is in said allowed set in dependence on said counter circuitry.
    Type: Application
    Filed: November 18, 2015
    Publication date: July 14, 2016
    Inventors: Andrew David TUNE, Sean James SALISBURY
  • Publication number: 20160203093
    Abstract: An interconnect, and method of operation of an interconnect, are provided for connecting a plurality of master devices and a plurality of slave devices. Hazard management circuitry is used to serialise transactions to overlapping addresses. In addition, gating circuitry ensures ordered write observation (OWO) behaviour at an interface to one or more of the master devices, the gating circuitry receiving write address transfers of write transactions and performing a gating operation to gate onward propagation of the write address transfers to the slave devices in order to ensure the OWO behaviour. The gating circuitry performs the gating operation under control of the hazard management circuitry. Hence, for write transactions that are subjected to hazard checking by the hazard management circuitry, this removes the need to implement any other processes to specifically manage OWO behaviour for those write transactions.
    Type: Application
    Filed: December 4, 2015
    Publication date: July 14, 2016
    Inventors: Andrew David TUNE, Peter Andrew RIOCREUX, Sean James SALISBURY, Daniel Adam SARA, George Robert Scott LLOYD
  • Patent number: 9361236
    Abstract: A data array has multiple ways, each way having entries for storing data values. In response to a write request, an updated data value having a target address may be stored in any of a corresponding set of entries comprising an entry selected from each way based on the target address. An update queue stores update information representing pending write requests. Update information is selected from the update queue for a group of pending write requests corresponding to different ways, and these write requests are performed in parallel so that updated values are written to entries of different ways.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: June 7, 2016
    Assignee: ARM Limited
    Inventors: Andrew David Tune, Sean James Salisbury
  • Publication number: 20160103776
    Abstract: Interconnect circuitry 10 for connecting transaction masters 4, 6, 8 to transaction slaves 12, 14 includes response modification circuitry 18. The response modification circuitry includes shortlist buffer circuitry 28 storing identification for modification target transaction responses. The response modification circuitry 18 uses this identification data to identify among a stream of transaction responses in transit a modification target transaction response. The response modification circuitry 18 then serves to form a modified transaction response to be sent in place of the modification target transaction response to the transaction master 4, 6, 8.
    Type: Application
    Filed: October 5, 2015
    Publication date: April 14, 2016
    Inventors: Andrew David TUNE, Arthur Brian LAUGHTON, Daniel Adam SARA, Sean James SALISBURY, Peter Andrew RIOCREUX
  • Patent number: 9311244
    Abstract: An interconnect has transaction tracking circuitry for enforcing ordering of a set of data access transactions so that they are issued to slave devices in an order in which they are received from master devices. The transaction tracking circuitry is reused for also enforcing ordering of snoop transactions which are triggered by the set of data access transactions, for snooping master devices identified by a snoop filter as holding cache data for the target address of the transactions.
    Type: Grant
    Filed: August 25, 2014
    Date of Patent: April 12, 2016
    Assignee: ARM Limited
    Inventors: Sean James Salisbury, Andrew David Tune, Daniel Sara
  • Patent number: 9304923
    Abstract: A data processing systems employing a coherent memory system comprises multiple main cache memories. An inclusive snoop directory memory stores directory lines. Each directory line includes a directory tag and multiple snoop vectors. Each snoop vector relates to a span of memory addresses corresponding to the cache line size within the main cache memories.
    Type: Grant
    Filed: March 12, 2013
    Date of Patent: April 5, 2016
    Assignee: ARM Limited
    Inventor: Andrew David Tune
  • Patent number: 9300716
    Abstract: Timings of data traffic in a test system are modified by introducing dependencies that would arise in response to data requiring access to a resource comprising a buffer for storing pending data related to an access to the resource that cannot currently complete. A maximum value of a counter is set to a value corresponding to the buffer size. Data traffic is input, and the counter is updated in response to the data requiring the resource and being stored in the buffer and in response to the data traffic indicating a buffer entry has become available. Where the data requires the buffer and the counter is at its maximum value indicating the buffer is full, a timing of the data access requiring the buffer is modified indicating that the data is stalled until the buffer has capacity again, and the data traffic is updated with the modified timing.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: March 29, 2016
    Assignee: ARM Limited
    Inventor: Andrew David Tune
  • Patent number: 9294301
    Abstract: An arbiter is configured to select one of several contending data packets transmitted from an initiator, the data packets comprising an identifier identifying the initiator and data. The arbiter comprises: a history buffer for storing the identifiers identifying the initiators of a plurality of recently selected data packets; and selection circuitry configured to select one of the contending data packets in dependence upon the initiators of the contending data packets and the initiators identified in the history buffer, such that a probability of a data packet being selected increases with the number of data packets selected since a data packet from the same initiator was selected.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: March 22, 2016
    Assignee: ARM Limited
    Inventors: Andrew David Tune, Sean James Salisbury, Alistair Crone Bruce
  • Publication number: 20160062889
    Abstract: An interconnect has coherency control circuitry for performing coherency control operations and a snoop filter for identifying which devices coupled to the interconnect have cached data from a given address. When an address is looked up in the snoop filter and misses, and there is no spare snoop filter entry available, then the snoop filter selects a victim entry corresponding to a victim address, and issues an invalidate transaction for invalidating locally cached copies of the data identified by the victim. The coherency control circuitry for performing coherency checking operations for data access transactions is reused for performing coherency control operations for the invalidate transaction issued by the snoop filter. This greatly reduces the circuitry complexity of the snoop filter.
    Type: Application
    Filed: August 26, 2014
    Publication date: March 3, 2016
    Inventors: Sean James SALISBURY, Andrew David TUNE, Jamshed JALAL, Mark David WERKHEISER
  • Publication number: 20160062893
    Abstract: An interconnect and method of managing a snoop filter within such an interconnect are provided. The interconnect is used to connect a plurality of devices, including a plurality of master devices where one or more of the master devices has an associated cache storage. The interconnect comprises coherency control circuitry to perform coherency control operations for data access transactions received by the interconnect from the master devices. In performing those operations, the coherency control circuitry has access to snoop filter circuitry that maintains address-dependent caching indication data, and is responsive to a data access transaction specifying a target address to produce snoop control data providing an indication of which master devices have cached data for the target address in their associated cache storage.
    Type: Application
    Filed: August 11, 2015
    Publication date: March 3, 2016
    Inventors: Andrew David TUNE, Sean James SALISBURY