Patents by Inventor James Vash

James Vash 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: 12632384
    Abstract: Techniques are disclosed relating to an I/O agent circuit of a computer system. The I/O agent circuit may receive, from a peripheral component, a set of transaction requests to perform a set of read transactions that are directed to one or more of a plurality of cache lines. The I/O agent circuit may issue, to a first memory controller circuit configured to manage access to a first one of the plurality of cache lines, a request for exclusive read ownership of the first cache line such that data of the first cache line is not cached outside of the memory and the I/O agent circuit in a valid state. The I/O agent circuit may receive exclusive read ownership of the first cache line, including receiving the data of the first cache line. The I/O agent circuit may then perform the set of read transactions with respect to the data.
    Type: Grant
    Filed: January 9, 2023
    Date of Patent: May 19, 2026
    Assignee: Apple Inc.
    Inventors: Gaurav Garg, Sagi Lahav, Lital Levy-Rubin, Gerard Williams, III, Samer Nassar, Per H. Hammarlund, Harshavardhan Kaushikkar, Srinivasa Rangan Sridharan, Jeff Gonion, James Vash
  • Publication number: 20260056885
    Abstract: Techniques are disclosed relating to performing remote cache invalidations. In some embodiments, primary processor circuitry is configured to, based on execution of a remote invalidate instruction (e.g., an ISA-defined instruction), send a cache invalidate command to coprocessor circuitry. The coprocessor circuitry includes coprocessor cache circuitry and cache invalidation control circuitry configured to, in response to the cache invalidate command sent by the primary processor, invalidate one or more cache lines in the coprocessor cache circuitry without executing any instructions on the coprocessor circuitry.
    Type: Application
    Filed: October 31, 2025
    Publication date: February 26, 2026
    Inventors: Brett S. Feero, Dennis R. Bradford, Gaurav Garg, Jeff Gonion, Bernard J. Semeria, James Vash, Richard F. Russo
  • Patent number: 12561267
    Abstract: In an embodiment, a system on a chip (SOC) comprises a semiconductor die on which circuitry is formed, wherein the circuitry comprises a plurality of agents and a plurality of network switches coupled to the plurality of agents. The plurality of network switches are interconnected to form a plurality of physical and logically independent networks. A first network of the plurality of physically and logically independent networks is constructed according to a first topology and a second network of the plurality of physically and logically independent networks is constructed according to a second topology that is different from the first topology. For example, the first topology may a ring topology and the second topology may be a mesh topology. In an embodiment, coherency may be enforced on the first network and the second network may be a relaxed order network.
    Type: Grant
    Filed: April 28, 2023
    Date of Patent: February 24, 2026
    Assignee: Apple Inc.
    Inventors: Sergio Kolor, Sergio V. Tota, Tzach Zemer, Sagi Lahav, Jonathan M. Redshaw, Per H. Hammarlund, Eran Tamari, James Vash, Gaurav Garg, Lior Zimet, Harshavardhan Kaushikkar, Steven Fishwick, Steven R. Hutsell, Shawn M. Fukami
  • Publication number: 20260044451
    Abstract: Techniques are disclosed related to a scalable system on a chip (SOC). In some embodiments, a system includes a plurality of processor cores, a plurality of graphics processing units, a plurality of peripheral circuits, and a plurality of memory controllers configured to support scaling of the system using a unified memory architecture.
    Type: Application
    Filed: July 15, 2025
    Publication date: February 12, 2026
    Inventors: Per H. Hammarlund, Eran Tamari, Lior Zimet, Sergio Kolor, Sergio Tota, Sagi Lahav, James Vash, Gaurav Garg, Jonathan M. Redshaw, Steven R. Hutsell, Harshavardhan Kaushikkar, Shawn M. Fukami
  • Publication number: 20260017217
    Abstract: Techniques are disclosed relating to performing remote invalidation of memory access permission information. In some embodiments, primary processor circuitry is configured to, based on execution of a remote permission table invalidate instruction (e.g., an ISA-defined instruction), send a remote invalidate command to secondary processor circuitry. The secondary processor circuitry includes permission circuitry and is configured to, in response to the remote invalidate command sent by the primary processor, invalidate one or more entries in the permission circuitry. In some embodiments, the secondary processor performs the invalidate without executing any instructions on the secondary processor circuitry.
    Type: Application
    Filed: September 12, 2025
    Publication date: January 15, 2026
    Inventors: Gaurav Garg, Bernard J. Semeria, James Vash, Jeff Gonion, Richard F. Russo, Peter A. Lisherness, Roy G. Moss, Rohit K. Gupta
  • Patent number: 12487927
    Abstract: Techniques are disclosed relating to performing remote cache invalidations. In some embodiments, primary processor circuitry is configured to, based on execution of a remote invalidate instruction (e.g., an ISA-defined instruction), send a cache invalidate command to coprocessor circuitry. The coprocessor circuitry includes coprocessor cache circuitry and cache invalidation control circuitry configured to, in response to the cache invalidate command sent by the primary processor, invalidate one or more cache lines in the coprocessor cache circuitry without executing any instructions on the coprocessor circuitry.
    Type: Grant
    Filed: February 20, 2024
    Date of Patent: December 2, 2025
    Assignee: Apple Inc.
    Inventors: Brett S. Feero, Dennis R. Bradford, Gaurav Garg, Jeff Gonion, Bernard J. Semeria, James Vash, Richard F. Russo
  • Patent number: 12468644
    Abstract: Techniques are disclosed relating to performing remote invalidation of memory access permission information. In some embodiments, primary processor circuitry is configured to, based on execution of a remote permission table invalidate instruction (e.g., an ISA-defined instruction), send a remote invalidate command to secondary processor circuitry. The secondary processor circuitry includes secondary processor permission circuitry and is configured to, in response to the remote invalidate command sent by the primary processor, invalidate one or more entries in the secondary processor permission circuitry. In some embodiments, the secondary processor performs the invalidate without executing any instructions on the secondary processor circuitry.
    Type: Grant
    Filed: June 13, 2024
    Date of Patent: November 11, 2025
    Assignee: Apple Inc.
    Inventors: Gaurav Garg, Bernard J. Semeria, James Vash, Jeff Gonion, Richard F. Russo, Peter A. Lisherness, Roy G. Moss, Rohit K. Gupta
  • Publication number: 20250278274
    Abstract: Techniques are disclosed relating to data synchronization barrier operations. A system includes a first processor that may receive a data barrier operation request from a second processor include in the system. Based on receiving that data barrier operation request from the second processor, the first processor may ensure that outstanding load/store operations executed by the first processor that are directed to addresses outside of an exclusion region have been completed. The first processor may respond to the second processor that the data barrier operation request is complete at the first processor, even in the case that one or more load/store operations that are directed to addresses within the exclusion region are outstanding and not complete when the first processor responds that the data barrier operation request is complete.
    Type: Application
    Filed: May 6, 2025
    Publication date: September 4, 2025
    Inventors: Jeff Gonion, John H. Kelm, James Vash, Pradeep Kanapathipillai, Mridul Agarwal, Gideon N. Levinsky, Richard F. Russo, Christopher M. Tsay
  • Publication number: 20250278366
    Abstract: In some embodiments, multiple coherent agent circuits include respective caches configured to cache memory data. Control circuitry may implement a directory that tracks which of the multiple coherent agent circuits is caching copies of a cache block and a state of one or more cached copies. Based on a first request for the cache block by a first agent circuit, the control circuitry may: read an entry corresponding to the cache block from the directory, issue a message to a second agent circuit that has a first cached copy of the cache block according to the entry, where the second agent circuit updates a coherency state of the first cached copy based on the message, and update the entry in the directory, based on issuance of the message and prior to the message being processed by the second agent circuit, to reflect completion of the first request.
    Type: Application
    Filed: May 6, 2025
    Publication date: September 4, 2025
    Inventors: James Vash, Gaurav Garg, Brian P. Lilly, Ramesh B. Gunna, Steven R. Hutsell, Lital Levy-Rubin, Per H. Hammarlund, Harshavardhan Kaushikkar
  • Patent number: 12399830
    Abstract: A system including a plurality of processor cores, a plurality of graphics processing units, a plurality of peripheral circuits, and a plurality of memory controllers is configured to support scaling of the system using a unified memory architecture.
    Type: Grant
    Filed: June 10, 2024
    Date of Patent: August 26, 2025
    Assignee: Apple Inc.
    Inventors: Per H. Hammarlund, Eran Tamari, Lior Zimet, Sergio Kolor, Sergio Tota, Sagi Lahav, James Vash, Gaurav Garg, Jonathan M. Redshaw, Steven R Hutsell, Harshavardhan Kaushikkar, Shawn M. Fukami
  • Publication number: 20250245179
    Abstract: Techniques are disclosed relating to performing remote invalidation of memory access permission information. In some embodiments, primary processor circuitry is configured to, based on execution of a remote permission table invalidate instruction (e.g., an ISA-defined instruction), send a remote invalidate command to secondary processor circuitry. The secondary processor circuitry includes secondary processor permission circuitry and is configured to, in response to the remote invalidate command sent by the primary processor, invalidate one or more entries in the secondary processor permission circuitry. In some embodiments, the secondary processor performs the invalidate without executing any instructions on the secondary processor circuitry.
    Type: Application
    Filed: June 13, 2024
    Publication date: July 31, 2025
    Inventors: Gaurav Garg, Bernard J. Semeria, James Vash, Jeff Gonion, Richard F. Russo, Peter A. Lisherness, Roy G. Moss, Rohit K. Gupta
  • Patent number: 12332792
    Abstract: A system may include multiple coherent agents, where a given coherent agent includes one or more caches configured to cache data. Memory controller circuitry may control one or more memory circuits from which the one or more caches are configured to cache data and maintain a directory that tracks which of the multiple coherent agent circuits is caching copies of a plurality of cache blocks and states of the cached copies in the multiple coherent agent circuits. A first agent may transmit a first request for a first cache block. The first agent may store, in request buffer circuitry, information corresponding to the first request then detect a second snoop from a second agent circuit to the first cache block. The first agent may absorb the second snoop, including to store information corresponding to the second snoop with the information corresponding to the first request in the request buffer circuitry.
    Type: Grant
    Filed: February 20, 2024
    Date of Patent: June 17, 2025
    Assignee: Apple Inc.
    Inventors: James Vash, Gaurav Garg, Brian P. Lilly, Ramesh B. Gunna, Steven R. Hutsell, Lital Levy-Rubin, Per H. Hammarlund, Harshavardhan Kaushikkar
  • Patent number: 12321746
    Abstract: Techniques are disclosed relating to data synchronization barrier operations. A system includes a first processor that may receive a data barrier operation request from a second processor include in the system. Based on receiving that data barrier operation request from the second processor, the first processor may ensure that outstanding load/store operations executed by the first processor that are directed to addresses outside of an exclusion region have been completed. The first processor may respond to the second processor that the data barrier operation request is complete at the first processor, even in the case that one or more load/store operations that are directed to addresses within the exclusion region are outstanding and not complete when the first processor responds that the data barrier operation request is complete.
    Type: Grant
    Filed: June 16, 2023
    Date of Patent: June 3, 2025
    Assignee: Apple Inc.
    Inventors: Jeff Gonion, John H. Kelm, James Vash, Pradeep Kanapathipillai, Mridul Agarwal, Gideon N. Levinsky, Richard F. Russo, Christopher M. Tsay
  • Patent number: 12277074
    Abstract: Techniques are disclosed pertaining to utilizing a communication fabric via multiple ports. An agent circuit includes a plurality of command-and-data ports that couple the agent circuit to a communication fabric coupled to a plurality of hardware components that includes a plurality of memory controller circuits that facilitate access to a memory. The agent circuit can execute an instruction that involves issuing a command for data stored at the memory. The agent circuit may perform a hash operation on a memory address associated with the command to determine which one of the plurality of memory controller circuits to which to issue the command. The agent circuit issues the command to the determined memory controller circuit on a particular one of the plurality of command-and-data ports that is designated to the memory controller circuit. The agent circuit may issue all commands destined to that memory controller circuit on that port.
    Type: Grant
    Filed: September 25, 2023
    Date of Patent: April 15, 2025
    Assignee: Apple Inc.
    Inventors: Sergio Kolor, Sandeep Gupta, James Vash
  • Publication number: 20250103492
    Abstract: Techniques are disclosed relating to performing remote cache invalidations. In some embodiments, primary processor circuitry is configured to, based on execution of a remote invalidate instruction (e.g., an ISA-defined instruction), send a cache invalidate command to coprocessor circuitry. The coprocessor circuitry includes coprocessor cache circuitry and cache invalidation control circuitry configured to, in response to the cache invalidate command sent by the primary processor, invalidate one or more cache lines in the coprocessor cache circuitry without executing any instructions on the coprocessor circuitry.
    Type: Application
    Filed: February 20, 2024
    Publication date: March 27, 2025
    Inventors: Brett S. Feero, Dennis R. Bradford, Gaurav Garg, Jeff Gonion, Bernard J. Semeria, James Vash, Richard F. Russo
  • Patent number: 12253913
    Abstract: Techniques are disclosed relating to memory error tracking and logging. In some embodiments, a memory cache controller circuitry is configured to track, using multiple circuit entries, numbers of detected correctable errors associated with multiple respective locations, and in response to detecting a threshold number of correctable errors for a particular location, generate a signal to the one or more processors that identifies the particular location. In some embodiments, the memory cache controller circuitry includes multiple circuit entries for tracking uncorrectable errors.
    Type: Grant
    Filed: February 12, 2024
    Date of Patent: March 18, 2025
    Assignee: Apple Inc.
    Inventors: Farid Nemati, Steven R. Hutsell, Derek R. Kumar, Bernard J. Semeria, James Vash, Era K. Nangia, Gregory S. Mathews
  • Publication number: 20240427663
    Abstract: Techniques are disclosed relating to memory error tracking and logging. In some embodiments, a memory cache controller circuitry is configured to track, using multiple circuit entries, numbers of detected correctable errors associated with multiple respective locations, and in response to detecting a threshold number of correctable errors for a particular location, generate a signal to the one or more processors that identifies the particular location. In some embodiments, the memory cache controller circuitry includes multiple circuit entries for tracking uncorrectable errors.
    Type: Application
    Filed: February 12, 2024
    Publication date: December 26, 2024
    Inventors: Farid NEMATI, Steven R. HUTSELL, Derek R. KUMAR, Bernard J. SEMERIA, James VASH, Era K. NANGIA, Gregory S. MATHEWS
  • Publication number: 20240411695
    Abstract: A system including a plurality of processor cores, a plurality of graphics processing units, a plurality of peripheral circuits, and a plurality of memory controllers is configured to support scaling of the system using a unified memory architecture.
    Type: Application
    Filed: June 10, 2024
    Publication date: December 12, 2024
    Inventors: Per H. Hammarlund, Eran Tamari, Lior Zimet, Sergio Kolor, Sergio Tota, Sagi Lahav, James Vash, Gaurav Garg, Jonathan M. Redshaw, Steven R. Hutsell, Harshavardhan Kaushikkar, Shawn M. Fukami
  • Publication number: 20240370371
    Abstract: A system including a plurality of processor cores, a plurality of graphics processing units, a plurality of peripheral circuits, and a plurality of memory controllers is configured to support scaling of the system using a unified memory architecture.
    Type: Application
    Filed: March 15, 2024
    Publication date: November 7, 2024
    Inventors: Per H. Hammarlund, Lior Zimet, James Vash, Gaurav Garg, Sergio Kolor, Harshavardhan Kaushikkar, Ramesh B. Gunna, Steven R. Hutsell
  • Publication number: 20240273024
    Abstract: A scalable cache coherency protocol for system including a plurality of coherent agents coupled to one or more memory controllers is described. The memory controller may implement a precise directory for cache blocks from the memory to which the memory controller is coupled. Multiple requests to a cache block may be outstanding, and snoops and completions for requests may include an expected cache state at the receiving agent, as indicated by a directory in the memory controller when the request was processed, to allow the receiving agent to detect race conditions. In an embodiment, the cache states may include a primary shared and a secondary shared state. The primary shared state may apply to a coherent agent that bears responsibility for transmitting a copy of the cache block to a requesting agent. In an embodiment, at least two types of snoops may be supported: snoop forward and snoop back.
    Type: Application
    Filed: February 20, 2024
    Publication date: August 15, 2024
    Inventors: James Vash, Gaurav Garg, Brian P. Lilly, Ramesh B. Gunna, Steven R. Hutsell, Lital Levy-Rubin, Per H. Hammarlund, Harshavardhan Kaushikkar