Patents by Inventor Ilya Granovsky

Ilya Granovsky 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: 12619558
    Abstract: A memory controller circuit manages access to a memory cache circuit and storage circuits. The memory controller receives a memory access request, and attempts to reserve entries in a first set of storage circuits that are needed to process a cache hit prior to determining whether the memory access request hits in the memory cache circuit. This reservation attempt is performed without attempting to reserve other sets of storage circuits that are needed to process other possible outcomes of the memory access request, including a cache miss. If the memory controller circuit has successfully reserved entries in all of the first set of storage circuits, processing of the memory access request may be initiated. Conversely, if the memory controller is unable to reserve an entry in at least one of the first set of storage circuits, processing of the memory access request is inhibited.
    Type: Grant
    Filed: August 29, 2024
    Date of Patent: May 5, 2026
    Assignee: Apple Inc.
    Inventors: Ilya Granovsky, Jurgen M. Schulz, Tom Greenshtein, Elli Bagelman
  • Patent number: 12524344
    Abstract: A cache writeback circuit is disclosed for writing back, without invalidating, dirty cache lines. The cache writeback circuit is configured to enter an active state based on detecting a trigger condition indicative of cache misses to a memory cache circuit within a memory hierarchy of a computer memory subsystem causing cache line eviction activity. During the active state, the cache writeback circuit is configured to identify a set of dirty cache lines in the memory cache circuit, and write back, without invalidating, cache lines of the identified set of dirty cache lines from the memory cache circuit to a memory circuit within a lower level of the memory hierarchy, such as DRAM. The cache writeback circuit may further be configured to identify the dirty cache lines via a cache walk operation, which can be suspended, for example, when a higher-priority cache operation occurs.
    Type: Grant
    Filed: September 20, 2024
    Date of Patent: January 13, 2026
    Assignee: Apple Inc.
    Inventors: Alexander Gendler, Ilya Granovsky, Idan Mondjak Kedem, Or Davidi
  • Patent number: 12436586
    Abstract: Techniques are disclosed relating to selective rate limiting and reducing clock frequency of fabric circuitry in response to certain power management events. Disclosed techniques may advantageously allow power management circuitry to reduce or avoid negative impacts of power events by reducing the clock frequency of a communication fabric while using rate limiting of relatively lower-priority traffic to reduce impacts of the frequency reduction on high-priority traffic. For example, rate limiting of lower-quality-of-service virtual channels may continue after recovery of the clock frequency until higher-quality-of-service virtual channels have recovered from the frequency reduction.
    Type: Grant
    Filed: August 4, 2023
    Date of Patent: October 7, 2025
    Assignee: Apple Inc.
    Inventors: Doron Rajwan, Alexander Gendler, Daniel U. Becker, Saher Odeh, Ilya Granovsky, Lior Zimet
  • Patent number: 12423235
    Abstract: An apparatus includes a plurality of coherent agents, and a coherence directory that includes directory ways for storing coherency information. The coherence directory may be configured to determine that a cache block that is not currently cached among the coherent agents, is stored in a first coherent agent. The coherence directory may be further configured to, in response to this determination, create a particular entry in a selected one of the directory ways. The coherence directory may also be configured to send, to the first coherent agent, an indicator identifying a directory way that includes the entry. In response to a second coherent agent caching the cache block, the coherence directory may update the entry to include the second coherent agent. The first and second coherent agents may be configured to receive copies of the indicator, and to store their copy in locations associated with the cache block.
    Type: Grant
    Filed: February 5, 2024
    Date of Patent: September 23, 2025
    Assignee: Apple Inc.
    Inventors: Ilya Granovsky, Amanvir Singh Sidana, Sandeep Gupta, Tom Greenshtein, Vivek Venkatraman
  • Patent number: 12326772
    Abstract: Techniques are disclosed relating to data rate limiting based on toggle rate. In some embodiments, toggle detector circuitry determines a toggle rate between consecutive clock cycles for node circuitry that communicates via a data bus and provides toggle information to data rate limiter circuitry based on the determined toggle rate. The data rate limiter circuitry may limit data rate based on toggle information and the one or more limit inputs. Toggle detector circuitry may be configured to aggregate the toggle rate over multiple cycles using a rolling multi-cycle window, generate toggle information for windows of different lengths, generate toggle information for different data, or some combination thereof.
    Type: Grant
    Filed: April 13, 2023
    Date of Patent: June 10, 2025
    Assignee: Apple Inc.
    Inventors: Alexander Gendler, Ilya Granovsky
  • Publication number: 20250103496
    Abstract: An apparatus includes a plurality of coherent agents, and a coherence directory that includes directory ways for storing coherency information. The coherence directory may be configured to determine that a cache block that is not currently cached among the coherent agents, is stored in a first coherent agent. The coherence directory may be further configured to, in response to this determination, create a particular entry in a selected one of the directory ways. The coherence directory may also be configured to send, to the first coherent agent, an indicator identifying a directory way that includes the entry. In response to a second coherent agent caching the cache block, the coherence directory may update the entry to include the second coherent agent. The first and second coherent agents may be configured to receive copies of the indicator, and to store their copy in locations associated with the cache block.
    Type: Application
    Filed: February 5, 2024
    Publication date: March 27, 2025
    Inventors: Ilya Granovsky, Amanvir Singh Sidana, Sandeep Gupta, Tom Greenshtein, Vivek Venkatraman
  • Publication number: 20250103477
    Abstract: A memory controller circuit manages access to a memory cache circuit and storage circuits. The memory controller receives a memory access request, and attempts to reserve entries in a first set of storage circuits that are needed to process a cache hit prior to determining whether the memory access request hits in the memory cache circuit. This reservation attempt is performed without attempting to reserve other sets of storage circuits that are needed to process other possible outcomes of the memory access request, including a cache miss. If the memory controller circuit has successfully reserved entries in all of the first set of storage circuits, processing of the memory access request may be initiated. Conversely, if the memory controller is unable to reserve an entry in at least one of the first set of storage circuits, processing of the memory access request is inhibited.
    Type: Application
    Filed: August 29, 2024
    Publication date: March 27, 2025
    Inventors: Ilya Granovsky, Jurgen M. Schulz, Tom Greenshtein, Elli Bagelman
  • Publication number: 20250103520
    Abstract: A memory controller circuit receives memory access requests from a network of a computer system. Entries are reserved for these requests in a retry queue circuit. An arbitration circuit of the memory controller circuit issues those requests to a tag pipeline circuit that determines whether the received memory access requests hit in a memory cache. As a memory access request passes through the tag pipeline circuit, it may require another pass through this pipeline—for example, if resources such as certain storage circuits needed to complete the memory access request are unavailable (for example a snoop queue circuit). The reservation that has been made in the retry queue circuit thus keeps the request from having to be returned to the network for resubmission to the memory controller circuit if initial processing of the memory access request cannot be completed.
    Type: Application
    Filed: August 29, 2024
    Publication date: March 27, 2025
    Inventors: Ilya Granovsky, Jurgen M. Schulz, Tom Greenshtein, Elli Bagelman, Brian P. Lilly, John H. Kelm, Rohit K. Gupta, Sandeep Gupta, Anwar Q. Rohillah
  • Publication number: 20250094330
    Abstract: A computer system with a central, non-system memory (NSM) gateway circuit for routing non-DRAM transactions between agent circuits coupled to a plurality of networks of the computer system, which may include packet-switching capabilities. Such non-DRAM transactions may be routed via a virtual channel in some implementations. To facilitate handling of such transactions, the NSM gateway circuit may include dedicated routing storage (e.g., an input buffer for each source agent circuit on each of the plurality of networks and an output buffer for each destination agent circuit on each of the plurality of networks). The NSM gateway circuit may serve as a termination point for non-DRAM transactions within the computer system, allowing network credit for a message included in a non-DRAM transaction to be returned to a source agent circuit prior to delivery to one or more destination agent circuits.
    Type: Application
    Filed: January 4, 2024
    Publication date: March 20, 2025
    Inventors: Ilya Granovsky, Lital Levy-Rubin, Lior Zimet, Sergio Kolor
  • Publication number: 20250097167
    Abstract: A computer system with a central, non-system memory (NSM) gateway circuit for routing non-DRAM transactions between agent circuits coupled to first and second networks of the computer system. The NSM gateway circuit may route, for example, a message for a non-DRAM transaction from a source agent circuit coupled to the first network but not the second network to a destination agent circuit coupled to the second network but not the first network, and vice-versa. The NSM gateway circuit can also route messages for non-DRAM transactions between source and destination agent circuits both located on the same network. Still further, the NSM gateway circuit can route broadcast (i.e., one-to-many) transactions as well as network element configuration requests. In some implementations, a computer system may have multiple NSM gateway circuits, each assigned to handle non-DRAM transactions from an assigned set of agent circuits.
    Type: Application
    Filed: January 4, 2024
    Publication date: March 20, 2025
    Inventors: Ilya Granovsky, Lital Levy-Rubin, Lior Zimet, Sergio Kolor
  • Publication number: 20250044844
    Abstract: Techniques are disclosed relating to selective rate limiting and reducing clock frequency of fabric circuitry in response to certain power management events. Disclosed techniques may advantageously allow power management circuitry to reduce or avoid negative impacts of power events by reducing the clock frequency of a communication fabric while using rate limiting of relatively lower-priority traffic to reduce impacts of the frequency reduction on high-priority traffic. For example, rate limiting of lower-quality-of-service virtual channels may continue after recovery of the clock frequency until higher-quality-of-service virtual channels have recovered from the frequency reduction.
    Type: Application
    Filed: August 4, 2023
    Publication date: February 6, 2025
    Inventors: Doron Rajwan, Alexander Gendler, Daniel U. Becker, Saher Odeh, Ilya Granovsky, Lior Zimet
  • Publication number: 20240241561
    Abstract: Various techniques and circuit implementations for power reduction management in integrated circuits are disclosed. Trigger logic circuits and rate control circuits may be implemented in combination with a power management circuit to control power provided to components of the integrated circuits. Power may be controlled based on receiving trigger signals from a power management unit. The power management circuit may implement power budgets for various components in the integrated circuits.
    Type: Application
    Filed: March 29, 2024
    Publication date: July 18, 2024
    Inventors: Doron Rajwan, Karl D. Wulcan, Tal Kuzi, Inder M. Sodhi, Achmed R. Zahir, Ilya Granovsky, Nir Leshem, Lior Zimet
  • Patent number: 12007901
    Abstract: An apparatus includes a cache memory circuit configured to store a cache lines, and a cache controller circuit. The cache controller circuit is configured to receive a read request to an address associated with a portion of a cache line. In response to an indication that the portion of the cache line currently has at least a first sub-portion that is invalid and at least a second sub-portion that is modified relative to a version in a memory, the cache controller circuit is further configured to fetch values corresponding to the address from the memory, to generate an updated version of the portion of the cache line by using the fetched values to update the first sub-portion, but not the second sub-portion, of the portion of the cache line, and to generate a response to the read request that includes the updated version of the portion of the cache line.
    Type: Grant
    Filed: February 20, 2023
    Date of Patent: June 11, 2024
    Assignee: Apple Inc.
    Inventors: Ilya Granovsky, Tom Greenshtein
  • Patent number: 11900146
    Abstract: A memory controller with a separate transaction table for real-time transactions is disclosed. A system includes a plurality of agents and a memory controller configured to receive real-time and non-real-time memory requests from ones of the plurality of agents. The memory controller includes a real-time incoming transaction table configured to store those memory requests received from a subset of the plurality of agents that are real-time memory requests, and a non-real-time incoming transaction table configured to store those memory requests received from the subset of the plurality of agents that are non-real-time memory requests. The memory controller further includes an arbitration circuit configured to select a memory request from among memory requests stored in the real-time and non-real-time incoming transaction tables and further configured to enforce a quality of service policy for the real-time memory requests.
    Type: Grant
    Filed: August 31, 2021
    Date of Patent: February 13, 2024
    Assignee: Apple Inc.
    Inventors: Ilya Granovsky, Elli Bagelman
  • Publication number: 20230259459
    Abstract: An apparatus includes a cache memory circuit configured to store a cache lines, and a cache controller circuit. The cache controller circuit is configured to receive a read request to an address associated with a portion of a cache line. In response to an indication that the portion of the cache line currently has at least a first sub-portion that is invalid and at least a second sub-portion that is modified relative to a version in a memory, the cache controller circuit is further configured to fetch values corresponding to the address from the memory, to generate an updated version of the portion of the cache line by using the fetched values to update the first sub-portion, but not the second sub-portion, of the portion of the cache line, and to generate a response to the read request that includes the updated version of the portion of the cache line.
    Type: Application
    Filed: February 20, 2023
    Publication date: August 17, 2023
    Inventors: Ilya Granovsky, Tom Greenshtein
  • Patent number: 11693472
    Abstract: Various techniques and circuit implementations for power reduction management in integrated circuits are disclosed. Certain techniques include the implementation of rate control circuits to control a clock rate for circuits associated with a communication fabric in an integrated circuit. The clock rate may be reduced based trigger signals received from power delivery trigger circuits coupled to the integrated circuit and voltage regulators providing power to the integrated circuit. Additional techniques may include the use of rate limiter circuits in a memory pipeline.
    Type: Grant
    Filed: February 21, 2022
    Date of Patent: July 4, 2023
    Assignee: Apple Inc.
    Inventors: Ilya Granovsky, Doron Rajwan, Tal Kuzi, Nir Leshem, Lior Zimet
  • Patent number: 11609878
    Abstract: In an embodiment, a system on a chip (SOC) comprises a semiconductor die on which circuitry is formed, wherein the circuitry comprises a memory controller circuit and a plurality of networks formed from a plurality of individual network component circuits. The memory controller includes a PIO message control circuit that is configured to receive PIO messages addressed to individual network component circuits and determine whether to send the PIO messages to the individual network component circuits based on determine whether previous PIO messages are pending for the individual network component circuits. The PIO message control circuit is configured to delay a first PIO message at the PIO message control circuit in response to determining that previous PIO message is pending for the addressee of the first PIO message.
    Type: Grant
    Filed: May 13, 2021
    Date of Patent: March 21, 2023
    Assignee: Apple Inc.
    Inventors: Sergio Kolor, Oren Bar, Ilya Granovsky
  • Publication number: 20230063331
    Abstract: Various techniques and circuit implementations for power reduction management in integrated circuits are disclosed. Certain techniques include the implementation of rate control circuits to control a clock rate for circuits associated with a communication fabric in an integrated circuit. The clock rate may be reduced based trigger signals received from power delivery trigger circuits coupled to the integrated circuit and voltage regulators providing power to the integrated circuit. Additional techniques may include the use of rate limiter circuits in a memory pipeline.
    Type: Application
    Filed: February 21, 2022
    Publication date: March 2, 2023
    Inventors: Ilya Granovsky, Doron Rajwan, Tal Kuzi, Nir Leshem, Lior Zimet
  • Publication number: 20230060508
    Abstract: A memory controller with a separate transaction table for real-time transactions is disclosed. A system includes a plurality of agents and a memory controller configured to receive real-time and non-real-time memory requests from ones of the plurality of agents. The memory controller includes a real-time incoming transaction table configured to store those memory requests received from a subset of the plurality of agents that are real-time memory requests, and a non-real-time incoming transaction table configured to store those memory requests received from the subset of the plurality of agents that are non-real-time memory requests. The memory controller further includes an arbitration circuit configured to select a memory request from among memory requests stored in the real-time and non-real-time incoming transaction tables and further configured to enforce a quality of service policy for the real-time memory requests.
    Type: Application
    Filed: August 31, 2021
    Publication date: March 2, 2023
    Inventors: Ilya Granovsky, Elli Bagelman
  • Patent number: 11586552
    Abstract: An apparatus includes a cache memory circuit configured to store a cache lines, and a cache controller circuit. The cache controller circuit is configured to receive a read request to an address associated with a portion of a cache line. In response to an indication that the portion of the cache line currently has at least a first sub-portion that is invalid and at least a second sub-portion that is modified relative to a version in a memory, the cache controller circuit is further configured to fetch values corresponding to the address from the memory, to generate an updated version of the portion of the cache line by using the fetched values to update the first sub-portion, but not the second sub-portion, of the portion of the cache line, and to generate a response to the read request that includes the updated version of the portion of the cache line.
    Type: Grant
    Filed: May 13, 2021
    Date of Patent: February 21, 2023
    Assignee: Apple Inc.
    Inventors: Ilya Granovsky, Tom Greenshtein