Patents by Inventor Stephen G. Meier
Stephen G. Meier 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: 20260178501Abstract: Disclosed techniques relate to supplemental (e.g., PC-based Bayesian) learning for a pattern-based prefetcher. In some embodiments, prefetch circuitry is configured to store access map data based on address information corresponding to memory accesses and generate, based on the access map data and stored access patterns, one or more prefetch requests to prefetch data to a cache. In some embodiments, supplemental access tracking circuitry is configured to store initial access tracking information for offsets corresponding to a first access map evicted from the prefetch circuitry, update the access tracking information based on one or more additional access maps evicted from the prefetch circuitry that match the stored program counter information, and generate, based on the updated access tracking information, a starting access map for allocation in the prefetch circuitry.Type: ApplicationFiled: February 13, 2026Publication date: June 25, 2026Inventors: Stephen G. Meier, Tyler J. Huberty
-
Patent number: 12657031Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.Type: GrantFiled: July 25, 2024Date of Patent: June 16, 2026Assignee: Apple Inc.Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty
-
Patent number: 12579071Abstract: Disclosed techniques relate to supplemental PC-based learning for a pattern-based prefetcher. In some embodiments, prefetch circuitry is configured to store access map data based on address information corresponding to memory accesses and generate, based on the access map data and stored access patterns, one or more prefetch requests to prefetch data to a cache. In some embodiments, supplemental access tracking circuitry is configured to store initial access tracking information for offsets corresponding to a first access map evicted from the prefetch circuitry, store program counter information associated with an initial memory access that touched the first access map, update the access tracking information, based on one or more additional access maps evicted from the prefetch circuitry that match the stored program counter information, and generate, in response to a hit and based on the updated access tracking information, a starting access map for allocation in the prefetch circuitry.Type: GrantFiled: October 24, 2024Date of Patent: March 17, 2026Assignee: Apple Inc.Inventors: Stephen G. Meier, Tyler J. Huberty
-
Publication number: 20260072843Abstract: Disclosed techniques relate to adaptive adjustments of prefetch constraints. In some embodiments, prefetch circuitry is configured to store access map data based on address information corresponding to memory accesses and generate, based on the access map data and stored access patterns, one or more prefetch requests to prefetch data to a cache. Control circuitry may determine a number of active maps in the prefetch circuitry. In response to the number of active maps meeting a threshold, the control circuitry may impose a first restriction on a prefetch parameter for at least a first category of access maps. In response to the number of active maps in the prefetch circuitry failing to meet the threshold, the control circuitry may reduce the first restriction on the parameter. This may advantageously allow deep prefetching for certain workloads (e.g., with a small number of long-running streams) such as large-language model (LLM) workloads.Type: ApplicationFiled: October 24, 2024Publication date: March 12, 2026Inventors: Tyler J. Huberty, Jeremie S. Kim, Stephen G. Meier, Abhinav R. Agrawal, Ran Aharon Chachick
-
Publication number: 20260072841Abstract: Disclosed techniques relate to supplemental PC-based learning for a pattern-based prefetcher. In some embodiments, prefetch circuitry is configured to store access map data based on address information corresponding to memory accesses and generate, based on the access map data and stored access patterns, one or more prefetch requests to prefetch data to a cache. In some embodiments, supplemental access tracking circuitry is configured to store initial access tracking information for offsets corresponding to a first access map evicted from the prefetch circuitry, store program counter information associated with an initial memory access that touched the first access map, update the access tracking information, based on one or more additional access maps evicted from the prefetch circuitry that match the stored program counter information, and generate, in response to a hit and based on the updated access tracking information, a starting access map for allocation in the prefetch circuitry.Type: ApplicationFiled: October 24, 2024Publication date: March 12, 2026Inventors: Stephen G. Meier, Tyler J. Huberty
-
Publication number: 20260072842Abstract: Disclosed techniques related to compressed storage for access maps demoted from a prefetch table. In some embodiments, prefetch circuitry stores access map data based on address information corresponding to memory accesses, where a given access map of a plurality of stored access maps records categories of prior accesses to different offsets in a defined address region. The prefetch circuit may generate, based on the access map data and stored access patterns, one or more prefetch requests to prefetch data to a cache. Compressed map storage circuitry may store first data from a first access map, where the first data is a proper subset of data stored in the first access map prior to demotion of the first access map from the prefetch table. At least a portion of the first data may be a compressed version of data from the first access map.Type: ApplicationFiled: October 24, 2024Publication date: March 12, 2026Inventors: Jeremie S. Kim, Stephen G. Meier, Tyler J. Huberty
-
Patent number: 12572473Abstract: Disclosed techniques related to compressed storage for access maps demoted from a prefetch table. In some embodiments, prefetch circuitry stores access map data based on address information corresponding to memory accesses, where a given access map of a plurality of stored access maps records categories of prior accesses to different offsets in a defined address region. The prefetch circuit may generate, based on the access map data and stored access patterns, one or more prefetch requests to prefetch data to a cache. Compressed map storage circuitry may store first data from a first access map, where the first data is a proper subset of data stored in the first access map prior to demotion of the first access map from the prefetch table. At least a portion of the first data may be a compressed version of data from the first access map.Type: GrantFiled: October 24, 2024Date of Patent: March 10, 2026Assignee: Apple Inc.Inventors: Jeremie S. Kim, Stephen G. Meier, Tyler J. Huberty
-
Publication number: 20250307167Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates. Multiple levels of criticality may be available for a given cache line and cache circuitry may adjust the criticality value of in response to a criticality event. One or more upper criticality levels may be masked when selecting a victim cache line for replacement.Type: ApplicationFiled: January 20, 2025Publication date: October 2, 2025Inventors: Tyler J. Huberty, Vivek Venkatraman, Sandeep Gupta, Eric J. Furbish, Srinivasa Rangan Sridharan, Stephen G. Meier
-
Publication number: 20250094174Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.Type: ApplicationFiled: July 25, 2024Publication date: March 20, 2025Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty
-
Patent number: 12235769Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates. Multiple levels of criticality may be available for a given cache line and cache circuitry may adjust the criticality value of in response to a criticality event. One or more upper criticality levels may be masked when selecting a victim cache line for replacement.Type: GrantFiled: January 25, 2024Date of Patent: February 25, 2025Assignee: Apple Inc.Inventors: Tyler J. Huberty, Vivek Venkatraman, Sandeep Gupta, Eric J. Furbish, Srinivasa Rangan Sridharan, Stephen G. Meier
-
Patent number: 12050918Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.Type: GrantFiled: July 28, 2023Date of Patent: July 30, 2024Assignee: Apple Inc.Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty
-
Publication number: 20240168887Abstract: A cache may store critical cache lines and non-critical cache lines, and may attempt to retain critical cache lines in the cache by, for example, favoring the critical cache lines in replacement data updates. Multiple levels of criticality may be available for a given cache line and cache circuitry may adjust the criticality value of in response to a criticality event. One or more upper criticality levels may be masked when selecting a victim cache line for replacement.Type: ApplicationFiled: January 25, 2024Publication date: May 23, 2024Inventors: Tyler J. Huberty, Vivek Venkatraman, Sandeep Gupta, Eric J. Furbish, Srinivasa Rangan Sridharan, Stephen G. Meier
-
Publication number: 20240095037Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.Type: ApplicationFiled: July 28, 2023Publication date: March 21, 2024Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty
-
Patent number: 11755333Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.Type: GrantFiled: December 10, 2021Date of Patent: September 12, 2023Assignee: Apple Inc.Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty
-
Publication number: 20230092898Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.Type: ApplicationFiled: December 10, 2021Publication date: March 23, 2023Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty