Patents by Inventor Mark David Werkheiser

Mark David Werkheiser 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: 20170168939
    Abstract: A data processing system, having two or more of processors that access a shared data resource, and method of operation thereof. Data stored in a local cache is marked as being in a ‘UniqueDirty’, ‘SharedDirty’, ‘UniqueClean’, ‘SharedClean’ or ‘Invalid’ state. A snoop filter monitors access by the processors to the shared data resource, and includes snoop filter control logic and a snoop filter cache configured to maintain cache coherency. The snoop filter cache does not identify any local cache that stores the block of data in a ‘SharedDirty’ state, resulting in a smaller snoop filter cache size and simple snoop control logic. The data processing system by be defined by instructions of a Hardware Description Language.
    Type: Application
    Filed: December 10, 2015
    Publication date: June 15, 2017
    Applicant: ARM Limited
    Inventors: Jamshed JALAL, Mark David WERKHEISER
  • 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: 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: 9477600
    Abstract: A data processing system 2 includes a cache hierarchy having a plurality of local cache memories and a shared cache memory 18. State data 30, 32 stored within the shared cache memory 18 on a per cache line basis is used to control whether or not that cache line of data is stored and managed in accordance with non-inclusive operation or inclusive operation of the cache memory system. Snoop transactions are filtered on the basis of data indicating whether or not a cache line of data is unique or non-unique. A switch from non-inclusive operation to inclusive operation may be performed in dependence upon the transaction type of a received transaction requesting a cache line of data.
    Type: Grant
    Filed: August 8, 2011
    Date of Patent: October 25, 2016
    Assignee: ARM LIMITED
    Inventors: Jamshed Jalal, Mark David Werkheiser, Brett Stanley Feero, Michael Alan Filippo
  • Publication number: 20160062890
    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: March 6, 2015
    Publication date: March 3, 2016
    Inventors: Sean James SALISBURY, Andrew David TUNE, Jamshed JALAL, Mark David WERKHEISER, Arthur LAUGHTON, George Robert Scott LLOYD, Peter Andrew RIOCREUX, Daniel SARA
  • 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
  • Patent number: 8935485
    Abstract: A data processing apparatus 2 includes a plurality of transaction sources 8, 10 each including a local cache memory. A shared cache memory 16 stores cache lines of data together with shared cache tag values. Snoop filter circuitry 14 stores snoop filter tag values tracking which cache lines of data are stored within the local cache memories. When a transaction is received for a target cache line of data, then the snoop filter circuitry 14 compares the target tag value with the snoop filter tag values and the shared cache circuitry 16 compares the target tag value with the shared cache tag values. The shared cache circuitry 16 operates in a default non-inclusive mode. The shared cache memory 16 and the snoop filter 14 accordingly behave non-inclusively in respect of data storage within the shared cache memory 16, but inclusively in respect of tag storage given the combined action of the snoop filter tag values and the shared cache tag values.
    Type: Grant
    Filed: August 8, 2011
    Date of Patent: January 13, 2015
    Assignee: ARM Limited
    Inventors: Jamshed Jalal, Brett Stanley Feero, Mark David Werkheiser, Michael Alan Filippo
  • Patent number: 8490107
    Abstract: An integrated circuit 2 includes a plurality of transaction sources 6, 8, 10, 12, 14, 16, 18, 20 communicating via a ring-based interconnect 30 with shared caches 22, 24 each having an associated POC/POS 30, 34 and serving as a request servicing circuit. The request servicing circuits have a set of processing resources 36 that may be allocated to different transactions. These processing resources may be allocated either dynamically or statically. Static allocation can be made in dependence upon a selection algorithm. This selection algorithm may use a quality of service value/priority level as one of its input variables. A starvation ratio may also be defined such that lower priority levels are forced to be selected if they are starved of allocation for too long. A programmable mapping may be made between quality of service values and priority levels. The maximum number of processing resources allocated to each priority level may also be programmed.
    Type: Grant
    Filed: August 8, 2011
    Date of Patent: July 16, 2013
    Assignee: ARM Limited
    Inventors: Jamshed Jalal, Mark David Werkheiser, Brett Stanley Feero, Michael Alan Filippo, Ramamoorthy Guru Prasadh, Phanindra Kumar Mannava
  • Publication number: 20130042252
    Abstract: An integrated circuit 2 includes a plurality of transaction sources 6, 8, 10, 12, 14, 16, 18, 20 communicating via a ring-based interconnect 30 with shared caches 22, 24 each having an associated POC/POS 30, 34 and serving as a request servicing circuit. The request servicing circuits have a set of processing resources 36 that may be allocated to different transactions. These processing resources may be allocated either dynamically or statically. Static allocation can be made in dependence upon a selection algorithm. This selection algorithm may use a quality of service value/priority level as one of its input variables. A starvation ratio may also be defined such that lower priority levels are forced to be selected if they are starved of allocation for too long. A programmable mapping may be made between quality of service values and priority levels. The maximum number of processing resources allocated to each priority level may also be programmed.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Applicant: ARM LIMITED
    Inventors: Jamshed Jalal, Mark David Werkheiser, Brett Stanley Feero, Ramamoorthy Guru Prasadh, Michael Alan Filippo, Phanindra Kumar Mannava
  • Publication number: 20130042078
    Abstract: A data processing apparatus 2 includes a plurality of transaction sources 8, 10 each including a local cache memory. A shared cache memory 16 stores cache lines of data together with shared cache tag values. Snoop filter circuitry 14 stores snoop filter tag values tracking which cache lines of data are stored within the local cache memories. When a transaction is received for a target cache line of data, then the snoop filter circuitry 14 compares the target tag value with the snoop filter tag values and the shared cache circuitry 16 compares the target tag value with the shared cache tag values. The shared cache circuitry 16 operates in a default non-inclusive mode. The shared cache memory 16 and the snoop filter 14 accordingly behave non-inclusively in respect of data storage within the shared cache memory 16, but inclusively in respect of tag storage given the combined action of the snoop filter tag values and the shared cache tag values.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Inventors: Jamshed Jalal, Brett Stanley Feero, Mark David Werkheiser, Michael Alan Filippo
  • Publication number: 20130042249
    Abstract: An integrated circuit 2 includes a plurality of transaction sources 6, 8, 10, 12, 14, 16, 18, 20 communicating via a ring-based interconnect 30 with shared caches 22, 24 each having an associated POC/POS 30, 34 and serving as a request servicing circuit. The request servicing circuits have a set of processing resources 36 that may be allocated to different transactions. These processing resources may be allocated either dynamically or statically. Static allocation can be made in dependence upon a selection algorithm. This selection algorithm may use a quality of service value/priority level as one of its input variables. A starvation ratio may also be defined such that lower priority levels are forced to be selected if they are starved of allocation for too long. A programmable mapping may be made between quality of service values and priority levels. The maximum number of processing resources allocated to each priority level may also be programmed.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Applicant: ARM Limited
    Inventors: Jamshed Jalal, Mark David Werkheiser, Brett Stanley Feero, Michael Alan Filippo, Ramamoorthy Guru Prasadh, Phanindra Kumar Mannava
  • Publication number: 20130042070
    Abstract: A data processing system 2 includes a cache hierarchy having a plurality of local cache memories and a shared cache memory 18. State data 30, 32 stored within the shared cache memory 18 on a per cache line basis is used to control whether or not that cache line of data is stored and managed in accordance with non-inclusive operation or inclusive operation of the cache memory system. Snoop transactions are filtered on the basis of data indicating whether or not a cache line of data is unique or non-unique. A switch from non-inclusive operation to inclusive operation may be performed in dependence upon the transaction type of a received transaction requesting a cache line of data.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 14, 2013
    Applicant: ARM LIMITED
    Inventors: Jamshed Jalal, Mark David Werkheiser, Brett Stanley Feero, Michael Alan Filippo