Look-ahead Patents (Class 711/137)
  • Patent number: 11494188
    Abstract: A single instruction multiple thread (SIMT) processor includes execution circuitry, prefetch circuitry and prefetch strategy selection circuitry. The prefetch strategy selection circuitry serves to detect one or more characteristics of a stream of program instructions that are being executed to identify whether or not a given data access instruction within a program will be executed a plurality of times. The prefetch strategy to use is selected from a plurality of selectable prefetch strategies in dependence upon the detection of such detected characteristics.
    Type: Grant
    Filed: October 24, 2013
    Date of Patent: November 8, 2022
    Assignee: ARM LIMITED
    Inventors: Ganesh Suryanarayan Dasika, Rune Holm, David Hennah Mansell
  • Patent number: 11442867
    Abstract: A request to access data at an address is received from a host system. A tag associated with the address is determined to not be found in first entries in a first content-addressable memory (CAM) or in second entries in a second CAM. Responsive to determining that the tag is not found in the first entries or in the second entries, a particular entry of the first entries that each includes valid data is selected. A determination is made whether the particular entry satisfies a condition indicating that content in the particular entry is to be stored in the second CAM. The content is associated with other data stored in the cache. Responsive to determining that the condition is satisfied, the content of the particular entry is stored in one of the second entries to maintain the data in the cache.
    Type: Grant
    Filed: December 20, 2018
    Date of Patent: September 13, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Laurent Isenegger, Dhawal Bavishi, Jeffrey Frederiksen
  • Patent number: 11436167
    Abstract: In an example, an apparatus may have a controller to be coupled to a host, an interface component coupled to the controller, and a plurality of memory devices coupled to the interface component. The interface component may be to cause a memory device of the plurality of memory devices to perform an operation in response to a command from the controller.
    Type: Grant
    Filed: February 12, 2021
    Date of Patent: September 6, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Matthew D. Rowley, Peter R. Castro
  • Patent number: 11429318
    Abstract: Techniques include receiving a backup request for backing up data on a production VVOL, to which is assigned physical space from storage devices in a first storage tier. When the production VVOL and a snapshot VVOL exist, and a write request is received to a data block on the production VVOL that is shared between the production VVOL and the snapshot VVOL, then the techniques include capturing a snapshot of the production VVOL by redirecting the write request to newly allocated space on the production VVOL, writing new data to the newly allocated space, and storing metadata referring to the original block(s) on the production VVOL. Based on an IO workload threshold, the techniques include copying, in a background process, the original version of the modified block from the production VVOL to a snapshot VVOL, to which is assigned physical storage space from storage devices in a second storage tier.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: August 30, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Sergey Alexandrovich Alexeev, Alexey Vladimirovich Shusharin, Dmitry Tylik, Yakov Stanislavovich Belikov, Ekaterina Konstantinovna Sigalova
  • Patent number: 11429529
    Abstract: An apparatus comprises processing circuitry to issue demand memory access requests to access data stored in a memory system. Stride pattern detection circuitry detects whether a sequence of demand target addresses specified by the demand memory access requests includes two or more constant stride sequences of addresses interleaved within the sequence of demand target addresses. Each constant stride sequence comprises addresses separated by intervals of a constant stride value. Prefetch control circuitry controls issuing of prefetch load requests to prefetch data from the memory system. The prefetch load requests specify prefetch target addresses predicted based on the constant stride sequences detected by the stride pattern detection circuitry.
    Type: Grant
    Filed: November 21, 2019
    Date of Patent: August 30, 2022
    Assignee: Arm Limited
    Inventors: Alexander Alfred Hornung, Jose Gonzalez-Gonzalez, Gregory Andrew Chadwick
  • Patent number: 11422939
    Abstract: Disclosed embodiments relate to a shared read request (SRR) using a common request tracker (CRT) as a temporary cache. In one example, a multi-core system includes a memory and a memory controller to receive a SRR from a core when a Leader core is not yet identified, allocate a CRT entry and store the SRR therein, mark it as a Leader, send a read request to a memory address indicated by the SRR, and when read data returns from the memory, store the read data in the CRT entry, send the read data to the Leader core, and await receipt, unless already received, of another SRR from a Follower core, the other SRR having a same address as the SRR, then, send the read data to the Follower core, and deallocate the CRT entry.
    Type: Grant
    Filed: December 26, 2019
    Date of Patent: August 23, 2022
    Assignee: Intel Corporation
    Inventors: Israel Diamand, Ravi K. Venkatesan, Shlomi Shua, Oz Shitrit, Michael Behar, Roni Rosner
  • Patent number: 11409874
    Abstract: A verifiable computing system is presented. A worker computing device of the verifiable computing system receives a primary program and a verification logic that are generated based on a target function. The worker computing device includes a main processor and a coprocessor. The main processor is configured to execute the primary program and the coprocessor is configured to implement the verification logic. Telemetry is collected from the main processor executing the primary program and provided to the coprocessor. The coprocessor implementing the verification logic uses the telemetry to generate a proof. The proof is provided to a verifying computing device for determining whether the primary program is tampered with.
    Type: Grant
    Filed: July 3, 2019
    Date of Patent: August 9, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jeb R. Linton, James R. Kraemer
  • Patent number: 11397685
    Abstract: There is provided a data processing apparatus and method for storing a plurality of prediction cache entries in a prediction cache with associativity greater than one comprising a plurality of prediction cache ways, each of the plurality of prediction entries defining an association between a prediction cache lookup address and target information; and storing a plurality of stream entries, each stream entry corresponding to a sequence of prediction cache lookup addresses and comprising: a stream identifier defined by two or more sequential prediction cache lookup addresses of the sequence, and a plurality of sequential way predictions, each way prediction of the plurality of sequential way predictions defining, for a given position in the sequence of prediction cache lookup addresses, a prediction cache way to be looked up in the prediction cache to identify a prediction entry associated with the prediction cache lookup address at the given position in the sequence.
    Type: Grant
    Filed: February 24, 2021
    Date of Patent: July 26, 2022
    Assignee: Arm Limited
    Inventors: Yasuo Ishii, Chang Joo Lee
  • Patent number: 11379379
    Abstract: Described is a computing system and method for differential cache block sizing for computing systems. The method for differential cache block sizing includes determining, upon a cache miss at a cache, a number of available cache blocks given a payload length of the main memory and a cache block size for the last level cache, generating a main memory request including at least one indicator for a missed cache block and any available cache blocks, sending the main memory request to the main memory to obtain data associated with the missed cache block and each of the any available cache blocks, storing the data received for the missed cache block in the cache; and storing the data received for each of the any available cache blocks in the cache depending on a cache replacement algorithm.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: July 5, 2022
    Assignee: Marvell Asia Pte, Ltd.
    Inventors: Shubhendu Mukherjee, David Asher, Thomas F. Hummel
  • Patent number: 11379372
    Abstract: Memory prefetching in a processor comprises: identifying, in response to memory access instructions, a pattern of addresses; in response to a first memory access request corresponding to a sub-pattern of the pattern of addresses, prefetching a first address that is offset from the sub-pattern of addresses by a first lookahead value, wherein the first address is part of the pattern; measuring a memory access latency; determining, based on the memory access latency, a second lookahead value, wherein the second lookahead value is different from the first lookahead value; and in response to a second memory access request corresponding to the sub-pattern of the pattern of addresses, prefetching a second address, wherein the second address is part of the pattern, and wherein the second address is offset from the sub-pattern of addresses by the second lookahead value.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: July 5, 2022
    Assignee: Marvell Asia Pte, Ltd.
    Inventor: Shubhendu Sekhar Mukherjee
  • Patent number: 11372646
    Abstract: A computer-implemented method includes fetching a fetch-packet containing a first hyper-block from a first address of a memory. The fetch-packet contains a bitwise distance from an entry point of the first hyper-block to a predicted exit point. The method further includes executing a first branch instruction of the first hyper-block. The first branch instruction corresponds to a first exit point. The first branch instruction includes an address corresponding to an entry point of a second hyper-block. The method also includes storing, responsive to executing the first branch instruction, a bitwise distance from the entry point of the first hyper-block to the first exit point. The method further includes moving a program counter from the first exit point of the first hyper-block to the entry point of the second hyper-block.
    Type: Grant
    Filed: November 14, 2019
    Date of Patent: June 28, 2022
    Assignee: Texas Instruments Incorporated
    Inventors: Kai Chirca, Timothy D. Anderson, David E. Smith, Jr., Paul D. Gauvreau
  • Patent number: 11366749
    Abstract: A storage system has a volatile memory, a non-volatile memory, and a controller. The controller of the storage system can implement various mechanisms for improving random read performance. These mechanisms include improved read prediction cache management, using a pattern length for read prediction, and a time-based enhancement for read prediction. Each of these mechanisms can be used alone on in combination with some or all of the other mechanisms.
    Type: Grant
    Filed: February 23, 2021
    Date of Patent: June 21, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventors: Shay Benisty, Ariel Navon, Eran Sharon
  • Patent number: 11360902
    Abstract: A method for managing a readahead cache in a memory subsystem based on one or more active streams of read commands is described. The method includes receiving a read command that requests data from a memory component and determining whether the read command is part of an active stream of read commands based on a comparison of a set of addresses of the read command with one or more of (1) a command history table, which stores a set of command entries that each correspond to a received read command that has not been associated with an active stream, or (2) an active stream table, which stores a set of stream entries that each corresponds to active streams of read commands. The method further includes modifying a stream entry in the set of stream entries in response to determining that the read command is part of an active stream.
    Type: Grant
    Filed: November 24, 2020
    Date of Patent: June 14, 2022
    Assignee: MICRON TECHNOLOGY, INC.
    Inventor: David A. Palmer
  • Patent number: 11347649
    Abstract: A caching system including a first sub-cache, a second sub-cache, coupled in parallel with the first sub-cache, for storing cache data evicted from the first sub-cache and write-memory commands that are not cached in the first sub-cache, and a cache controller configured to receive two or more cache commands, determine a conflict exists between the received two or more cache commands, determine a conflict resolution between the received two or more cache commands, and sending the two or more cache commands to the first sub-cache and the second sub-cache.
    Type: Grant
    Filed: May 22, 2020
    Date of Patent: May 31, 2022
    Assignee: Texas Instruments Incorporated
    Inventors: Naveen Bhoria, Timothy David Anderson, Pete Hippleheuser
  • Patent number: 11334285
    Abstract: A method of optimising a service rate of a buffer in a computer system having memory stores of first and second type is described. The method selectively services the buffer by routing data to each of the memory store of the first type and the second type based on read/write capacity of the memory store of the first type.
    Type: Grant
    Filed: June 25, 2020
    Date of Patent: May 17, 2022
    Assignee: CORVIL LIMITED
    Inventors: Guofeng Li, Ken Jinks, Ian Dowse, Alex Caldas Peixoto, Franciszek Korta
  • Patent number: 11334485
    Abstract: A computer system for dynamic enforcement of store atomicity includes multiple processor cores, local cache memory for each processor core, a shared memory, a separate store buffer for each processor core for executed stores that are not yet performed and a coherence mechanism. A first processor core load on a first processor core receives a value at a first time from a first processor core store in the store buffer and prevents any other first processor core load younger than the first processor core load in program order from committing until a second time when the first processor core store is performed. Between the first time and the second time any load younger in program load than the first processor core load and having an address matched by coherence invalidation or an address matched by an eviction is squashed.
    Type: Grant
    Filed: December 16, 2019
    Date of Patent: May 17, 2022
    Assignee: ETA SCALE AB
    Inventors: Stefanos Kaxiras, Alberto Ros
  • Patent number: 11327891
    Abstract: Provided is a method of adjusting prefetching operations, the method including setting a prefetching distance, accessing a prefetching-trigger key, determining a target key is outside of the prefetching distance from the prefetching-trigger key, increasing the prefetching distance, and successfully fetching a subsequent target key of a subsequent prefetching-trigger key from a prefetching read-ahead buffer.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: May 10, 2022
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Heekwon Park, Ho bin Lee, Ilgu Hong, Yang Seok Ki
  • Patent number: 11321402
    Abstract: Indices or data structures used by an enterprise search system are stored across heterogenous storage devices. One or more characteristics associated with a data structure and one or more characteristics associated with a search query operator supported by the data structure are considered when determining which storage device should store each data structure.
    Type: Grant
    Filed: August 31, 2017
    Date of Patent: May 3, 2022
    Assignee: Microsoft Technology Licensing, LLC.
    Inventors: Olaf René Birkeland, Geir Inge Kristengård, Lars Greger Nordland Hagen
  • Patent number: 11314752
    Abstract: A computer system includes a first computer and a second computer. The second computer includes, a minimum analysis dataset in which a data item serving as an analysis target and a repetition unit are defined in advance for each analysis target and an agent. The agent receives an analysis target data fetching designation including the minimum analysis dataset, a repetition range of repeating acquisition of data, and a repetition unit. The agent generates a first process that acquires data from the first computer and a first instance that executes processing within the first process on the basis of the repetition range and the repetition unit and activate the first instance to acquire the accumulated data from the first computer. When the processing of the first instance is completed, the agent generates a second process that executes analysis processing and a second instance that executes processing within the second process.
    Type: Grant
    Filed: April 18, 2018
    Date of Patent: April 26, 2022
    Assignee: HITACHI, LTD.
    Inventors: Ken Sugimoto, Yoshiki Matsuura, Kei Tanimoto
  • Patent number: 11314637
    Abstract: To reduce latency and bandwidth consumption in systems, systems and methods are provided for grouping multiple cache line request messages in a related and speculative manner. That is, multiple cache lines are likely to have the same state and ownership characteristics, and therefore, requests for multiple cache lines can be grouped. Information received in response can be directed to the requesting processor socket, and those speculatively received (not actually requested, but likely to be requested) can be maintained in queue or other memory until a request is received for that information, or until discarded to free up tracking space for new requests.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: April 26, 2022
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Frank R. Dropps, Thomas McGee, Michael Malewicki
  • Patent number: 11314645
    Abstract: In a cache stash relay, first data, from a producer device, is stashed in a shared cache of a data processing system. The first data is associated with first data addresses in a shared memory of the data processing system. An address pattern of the first data addresses is identified. When a request for second data, associated with a second data address, is received from a processing unit of the data processing system, any data associated with data addresses in the identified address pattern are relayed from the shared cache to a local cache of the processing unit if the second data address is in the identified address pattern. The relaying may include pushing the data from the shared cache to the local cache or a pre-fetcher of the processing unit pulling the data from the shared cache to the local cache in response to a message.
    Type: Grant
    Filed: December 16, 2020
    Date of Patent: April 26, 2022
    Assignee: Arm Limited
    Inventors: Curtis Glenn Dunham, Jonathan Curtis Beard
  • Patent number: 11307854
    Abstract: A processor of an aspect includes a decode unit to decode an instruction. The instruction is to indicate a destination memory address information. An execution unit is coupled with the decode unit. The execution unit, in response to the decode of the instruction, is to store memory addresses, for at least all initial writes to corresponding data items, which are to occur after the instruction in original program order, to a memory address log. A start of the memory address log is to correspond to the destination memory address information. Other processors, methods, systems, and instructions are also disclosed.
    Type: Grant
    Filed: February 7, 2018
    Date of Patent: April 19, 2022
    Assignee: Intel Corporation
    Inventors: Kshitij Doshi, Roman Dementiev, Vadim Sukhomlinov
  • Patent number: 11308554
    Abstract: Systems 100, 1000, methods, and machine-interpretable programming or other instruction products for the management of data transmission by multiple networked computing resources 106, 1106. In particular, the disclosure relates to the synchronization of related requests for transmitting data using distributed network resources.
    Type: Grant
    Filed: May 21, 2020
    Date of Patent: April 19, 2022
    Assignee: ROYAL BANK OF CANADA
    Inventors: Daniel Aisen, Bradley Katsuyama, Robert Park, John Schwall, Richard Steiner, Allen Zhang, Thomas L. Popejoy
  • Patent number: 11307802
    Abstract: A computer-implemented method manages I/O queues in a multi-tier storage system. The method includes identifying a set of subsystems in a multi-tier storage system, and each subsystem in the set of subsystems are communicatively connected to the storage system via a non-volatile memory express (NVMe) protocol and correlated to a tier of the multi-tier storage system. The method includes, determining a workload of each extent, wherein each extent of the set of extents are stored on one subsystem and the extents are accessed by an application. The method further includes, mapping, based on the workload of each extent, each extent to a core of the plurality of cores, wherein the mapping is configured to such that each core is balanced. The method includes, establishing, based on the mapping, an IOQ for each extent, wherein the IOQ is processed by the core to which it is mapped.
    Type: Grant
    Filed: February 21, 2020
    Date of Patent: April 19, 2022
    Assignee: International Business Machines Corporation
    Inventors: Kushal Patel, Sarvesh S. Patel, Subhojit Roy
  • Patent number: 11301386
    Abstract: Disclosed is a computer implemented method and system to dynamically adjust prefetch depth, the method comprising, identifying a first prefetch stream, wherein the first prefetch stream is identified in a prefetch request queue (PRQ), and wherein the first prefetch stream includes a first prefetch depth. The method also comprises determining a number of inflight prefetches, and comparing, a number of prefetch machines against the number of inflight prefetches, wherein each of the prefetch machines is configured to monitor one prefetch request. The method further includes adjusting, in response to the comparing, the first prefetch depth of the first prefetch stream.
    Type: Grant
    Filed: August 1, 2019
    Date of Patent: April 12, 2022
    Assignee: International Business Machines Corporation
    Inventors: Mohit Karve, Vivek Britto, George W. Rohrbaugh, III
  • Patent number: 11294595
    Abstract: An adaptive-feedback-based read-look-ahead management system and method are provided. In one embodiment, a method for stream management is presented that is performed in a storage system. The method comprises performing a read look ahead operation for each of a plurality of streams; determining a success rate of the read look ahead operation of each of the plurality of streams; and allocating more of the memory for a stream that has a success rate above a threshold than for a stream that has a success rate below the threshold. Other embodiments are provided.
    Type: Grant
    Filed: December 18, 2018
    Date of Patent: April 5, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventors: Shay Benisty, Ariel Navon, Alexander Bazarsky
  • Patent number: 11282095
    Abstract: In some embodiments, apparatuses and methods are provided to enable wide access to numerous different previously compiled forecast modeling. In some embodiments, a system is provided that enables wide access to forecasting, comprising: a forecast model database that maintains numerous different forecast models that when run produce resulting forecast data relevant to making business decisions; and a forecasting interface system configured to receive multiple different forecast requests for forecast request data, which comprises a forecast model index comprising identifiers of the numerous different predefined forecast models and for each of the numerous different forecast models relevance characteristics, wherein the forecasting interface system selects, for each received forecast request, a forecast model of the numerous different forecast models based on a relationship between the corresponding forecast request data and the relevance characteristics.
    Type: Grant
    Filed: November 11, 2019
    Date of Patent: March 22, 2022
    Assignee: Walmart Apollo, LLC
    Inventors: Christopher M. Johnson, Ting Li
  • Patent number: 11281502
    Abstract: A method for dispatching tasks on processor cores based on memory access efficiency is disclosed. The method identifies a task and a memory area to be accessed by the task. The method may use one or more of a compiler, code knowledge, and run-time statistics to identify the memory area that is accessed by the task. The method identifies multiple processor cores that are candidates to execute the task and identifies a particular processor core from the multiple processor cores that provides most efficient access to the memory area. The method dispatches the task to execute on the particular processor core that is deemed most efficient. A corresponding system and computer program product are also disclosed.
    Type: Grant
    Filed: February 22, 2020
    Date of Patent: March 22, 2022
    Assignee: International Business Machines Corporation
    Inventors: Lokesh M. Gupta, Matthew J. Kalos, Kevin J. Ash, Trung N. Nguyen
  • Patent number: 11281585
    Abstract: Systems, apparatuses, and methods related to memory systems and operation are described. A memory system may be coupled to a processor, which includes a memory controller. The memory controller may determine whether targeting of first data and second data by the processor to perform an operation results in processor-side cache misses. When targeting of the first data and the second data result in processor-side cache misses, the memory controller may determine a single memory access request that requests return of both the first data and the second data and instruct the processor to output the single memory access request to a memory system via one or more data buses coupled between the processor and the memory system to enable processing circuitry implemented in the processor to perform the operation based at least in part on the first data and the second data when returned from the memory system.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: March 22, 2022
    Assignee: Micron Technology, Inc.
    Inventor: Harold Robert George Trout
  • Patent number: 11275509
    Abstract: A computer system comprising: a data storage medium comprising a plurality of storage devices configured to store data; and a data storage controller coupled to the data storage medium; wherein the data storage controller is configured to: receive read and write requests targeted to the data storage medium; schedule said read and write requests for processing by said plurality of storage devices; detect a given device of the plurality of devices is exhibiting an unscheduled behavior comprising variable performance by one or more of the plurality of storage devices, wherein the variable performance comprises at least one of a relatively high response latency or relatively low throughput; and schedule one or more reactive operations in response to detecting the occurrence of the unscheduled behavior, said one or more reactive operations being configured to cause the given device to enter a known state.
    Type: Grant
    Filed: February 4, 2019
    Date of Patent: March 15, 2022
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Craig Harmer, John Hayes, Bo Hong, Ethan Miller, Feng Wang
  • Patent number: 11263133
    Abstract: Coherency control circuitry (10) supports processing of a safe-speculative-read transaction received from a requesting master device (4). The safe-speculative-read transaction is of a type requesting that target data is returned to a requesting cache (11) of the requesting master device (4) while prohibiting any change in coherency state associated with the target data in other caches (12) in response to the safe-speculative-read transaction. In response, at least when the target data is cached in a second cache associated with a second master device, at least one of the coherency control circuitry (10) and the second cache (12) is configured to return a safe-speculative-read response while maintaining the target data in the same coherency state within the second cache. This helps to mitigate against speculative side-channel attacks.
    Type: Grant
    Filed: March 12, 2019
    Date of Patent: March 1, 2022
    Assignee: Arm Limited
    Inventors: Andreas Lars Sandberg, Stephan Diestelhorst, Nikos Nikoleris, Ian Michael Caulfield, Peter Richard Greenhalgh, Frederic Claude Marie Piry, Albin Pierrick Tonnerre
  • Patent number: 11263138
    Abstract: An apparatus is provided that includes cache circuitry that comprises a plurality of cache lines. The cache circuitry treats one or more of the cache lines as trace lines each having correlated addresses and each being tagged by a trigger address. Prefetch circuitry causes data at the correlated addresses stored in the trace lines to be prefetched.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: March 1, 2022
    Assignee: Arm Limited
    Inventors: Joseph Michael Pusdesris, Miles Robert Dooley, Michael Filippo
  • Patent number: 11256623
    Abstract: Apparatus and a corresponding method of operating a hub device, and a target device, in a coherent interconnect system are presented. A cache pre-population request of a set of coherency protocol transactions in the system is received from a requesting master device specifying at least one data item and the hub device responds by cause a cache pre-population trigger of the set of coherency protocol transactions specifying the at least one data item to be transmitted to a target device. This trigger can cause the target device to request that the specified at least one data item is retrieved and brought into cache. Since the target device can therefore decide whether to respond to the trigger or not, it does not receive cached data unsolicited, simplifying its configuration, whilst still allowing some data to be pre-cached.
    Type: Grant
    Filed: February 8, 2017
    Date of Patent: February 22, 2022
    Assignee: ARM LIMITED
    Inventors: Phanindra Kumar Mannava, Bruce James Mathewson, Jamshed Jalal, Klas Magnus Bruce, Michael Filippo, Paul Gilbert Meyer, Alex James Waugh, Geoffray Matthieu Lacourba
  • Patent number: 11256626
    Abstract: Apparatus, method, and system for enhancing data prefetching based on non-uniform memory access (NUMA) characteristics are described herein. An apparatus embodiment includes a system memory, a cache, and a prefetcher. The system memory includes multiple memory regions, at least some of which are associated with different NUMA characteristic (access latency, bandwidth, etc.) than others. Each region is associated with its own set of prefetch parameters that are set in accordance to their respective NUMA characteristics. The prefetcher monitors data accesses to the cache and generates one or more prefetch requests to fetch data from the system memory to the cache based on the monitored data accesses and the set of prefetch parameters associated with the memory region from which data is to be fetched. The set of prefetcher parameters may include prefetch distance, training-to-stable threshold, and throttle threshold.
    Type: Grant
    Filed: April 1, 2020
    Date of Patent: February 22, 2022
    Assignee: Intel Corporation
    Inventors: Wim Heirman, Ibrahim Hur, Ugonna Echeruo, Stijn Eyerman, Kristof Du Bois
  • Patent number: 11249909
    Abstract: Systems and methods to predict and prefetch a cache access based on a delta pattern are disclosed. The delta pattern may comprise a sequence of differences between first and second cache accesses within a page. In one example, a processor includes execution circuitry to extract a delta history corresponding to a delta pattern associated with one or more previous cache accesses corresponding to a page of memory. The processor execution circuitry further generates a bucketed delta history based on the delta history corresponding to the page of memory and selects a prediction entry based on the bucketed delta history. The processor execution circuitry then identifies one or more prefetch candidates based on a confidence threshold, with the confidence threshold indicating one or more probable delta patterns, and filters the one or more prefetch candidates. Prefetch circuitry of the processor then predicts and prefetches a cache access based the one or more prefetch candidates.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: February 15, 2022
    Assignee: Intel Corporation
    Inventors: Hanna Alam, Joseph Nuzman
  • Patent number: 11243885
    Abstract: Provided are a computer program product, system, and method for providing track access reasons for track accesses resulting in the release of prefetched cache resources for the track. A first request for a track is received from a process for which prefetched cache resources to a cache are held for a second request for the track that is expected. A track access reason is provided for the first request specifying a reason for the first request. The prefetched cache resources are released before the second request to the track is received. Indication is made in an unexpected released track list of the track and the track access reason for the first request.
    Type: Grant
    Filed: August 4, 2020
    Date of Patent: February 8, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Beth Ann Peterson, Chung Man Fung, Matthew J. Kalos, Warren Keith Stanley, Matthew J. Ward
  • Patent number: 11243884
    Abstract: A method of prefetching target data includes, in response to detecting a lock-prefixed instruction for execution in a processor, determining a predicted target memory location for the lock-prefixed instruction based on control flow information associating the lock-prefixed instruction with the predicted target memory location. Target data is prefetched from the predicted target memory location to a cache coupled with the processor, and after completion of the prefetching, the lock-prefixed instruction is executed in the processor using the prefetched target data.
    Type: Grant
    Filed: November 13, 2018
    Date of Patent: February 8, 2022
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Susumu Mashimo, John Kalamatianos
  • Patent number: 11232533
    Abstract: Embodiments are generally directed to memory prefetching in multiple GPU environment. An embodiment of an apparatus includes multiple processors including a host processor and multiple graphics processing units (GPUs) to process data, each of the GPUs including a prefetcher and a cache; and a memory for storage of data, the memory including a plurality of memory elements, wherein the prefetcher of each of the GPUs is to prefetch data from the memory to the cache of the GPU; and wherein the prefetcher of a GPU is prohibited from prefetching from a page that is not owned by the GPU or by the host processor.
    Type: Grant
    Filed: March 15, 2019
    Date of Patent: January 25, 2022
    Assignee: INTEL CORPORATION
    Inventors: Joydeep Ray, Aravindh Anantaraman, Valentin Andrei, Abhishek R. Appu, Nicolas Galoppo von Borries, Varghese George, Altug Koker, Elmoustapha Ould-Ahmed-Vall, Mike Macpherson, Subramaniam Maiyuran
  • Patent number: 11231928
    Abstract: Devices and techniques are disclosed herein for more efficiently exchanging large amounts of data between a host and a storage system. In an example, a large read operation can include receiving a pre-fetch command, a parameter list and a read command at a storage system. In certain examples, the pre-fetch command can provide an indication of the length of the parameter list, and the parameter list can provide location identifiers of the storage system from which the read command can sense the read data.
    Type: Grant
    Filed: October 3, 2019
    Date of Patent: January 25, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Qing Liang, Nadav Grosz
  • Patent number: 11227220
    Abstract: Methods and systems for automatically discovering data types required by a computer-based rule engine for evaluating a transaction request are presented. Multiple potential paths for evaluating the transaction request according to the rule engine are determined. An abstract syntax tree may be generated based on the rule engine to determine the multiple potential paths. Based on an initial set of data extracted from the transaction request, one or more potential paths that are determined to be irrelevant to evaluating the transaction request are identified. Types of data required to evaluate the transaction request according to the remaining potential paths are determined. Only data that corresponds to the determined types of data is retrieved to evaluate the transaction request.
    Type: Grant
    Filed: December 15, 2017
    Date of Patent: January 18, 2022
    Assignee: PayPal, Inc.
    Inventors: Srinivasan Manoharan, Sahil Dahiya, Vinesh Chirakkil, Gurinder Grewal, Harish Nalagandla, Christopher S. Purdum, Girish Sharma
  • Patent number: 11228658
    Abstract: Systems and methods for processing requests to execute a program code of a user use a message queue service to store requests when there are not enough resources to process the requests. The message queue service determines whether a request to be queued is associated with data that the program code needs in order to process the request. If so, the message queue service locates and retrieves the data and stores the data in a cache storage that provides faster access by the program code to the pre-fetched data. This provides faster execution of asynchronous instances of the program code.
    Type: Grant
    Filed: January 6, 2020
    Date of Patent: January 18, 2022
    Assignee: Amazon Technologies, Inc.
    Inventor: Nima Sharifi Mehr
  • Patent number: 11221762
    Abstract: A processor includes a first memory interface to be coupled to a plurality of memory module sockets located off-package, a second memory interface to be coupled to a non-volatile memory (NVM) socket located off-package, and a multi-level memory controller (MLMC). The MLMC is to: control the memory modules disposed in the plurality of memory module sockets as main memory in a one-level memory (1LM) configuration; detect a switch from a 1LM mode of operation to a two-level memory (2LM) mode of operation in response to a basic input/output system (BIOS) detection of a low-power memory module disposed in one of the memory module sockets and a NVM device disposed in the NVM socket in a 2LM configuration; and control the low-power memory module as cache in the 2LM configuration in response to detection of the switch from the 1LM mode of operation to the 2LM mode of operation.
    Type: Grant
    Filed: February 13, 2019
    Date of Patent: January 11, 2022
    Assignee: Intel Corporation
    Inventors: Joydeep Ray, Varghese George, Inder M. Sodhi, Jeffrey R. Wilcox
  • Patent number: 11210093
    Abstract: Devices and techniques are disclosed herein for more efficiently exchanging large amounts of data between a host and a storage system. In an example, a read command can optionally include a read-type indicator. The read-type indicator can allow for exchange of a large amount of data between the host and the storage system using a single read command.
    Type: Grant
    Filed: September 9, 2019
    Date of Patent: December 28, 2021
    Assignee: Micron Technology, Inc.
    Inventors: Qing Liang, Nadav Grosz
  • Patent number: 11200057
    Abstract: An arithmetic processing apparatus includes: a memory; and a processor coupled to the memory, wherein the processor: detects whether intervals of a plurality of addresses to be accessed by a memory access instruction that performs memory access to the plurality of addresses by a single instruction are all the same; decodes the memory access instruction as the single instruction when detecting that the intervals are all the same; decodes the memory access instruction as a plurality of instructions when detecting that the intervals are not all the same; and performs the memory access in accordance with the single instruction or the plurality of instructions.
    Type: Grant
    Filed: April 27, 2018
    Date of Patent: December 14, 2021
    Assignee: FUJITSU LIMITED
    Inventor: Shingo Watanabe
  • Patent number: 11200500
    Abstract: Methods and systems for using machine learning to automatically determine a data loading configuration for a computer-based rule engine are presented. The computer-based rule engine is configured to use rules to evaluate incoming transaction requests. Data of various data types may be required by the rule engine when evaluating the incoming transaction requests. The data loading configuration specifies pre-loading data associated with at least a first data type and lazy-loading data associated with at least a second data type. Statistical data such as use rates and loading times associated with the various data types may be supplied to a machine learning module to determine a particular loading configuration for the various data types. The computer-based rule engine then loads data according to the data loading configuration when evaluating a subsequent transaction request.
    Type: Grant
    Filed: March 30, 2018
    Date of Patent: December 14, 2021
    Assignee: PayPal, Inc.
    Inventors: Srinivasan Manoharan, Vinesh Chirakkil, Jun Zhu, Christopher S. Purdum, Sahil Dahiya, Gurinder Grewal, Harish Nalagandla, Girish Sharma
  • Patent number: 11194504
    Abstract: Efficient pre-reading is performed in data transmission and reception between an Edge node and a Core node. An information processing device includes a storage device, outputs client request data based on a request of a client, and stores predetermined pre-read data in the storage device before the request of the client. The device includes: a relevance calculation module configured to calculate relevance between data based on an access history of the data; and a pre-reading and deletion module configured to determine data to be deleted from the storage device using the relevance when data having predetermined relevance with the client request data is to be stored to the storage device as the pre-read data and a storage capacity of the storage device is insufficient if at least one of the client request data and the pre-read data is to be stored to the storage device.
    Type: Grant
    Filed: April 7, 2020
    Date of Patent: December 7, 2021
    Assignee: HITACHI, LTD.
    Inventors: Kazumasa Matsubara, Mitsuo Hayasaka
  • Patent number: 11188319
    Abstract: The present application is directed towards systems and methods for identifying and grouping code objects into functional areas with boundaries crossed by entry points. An analysis agent may select a first functional area of a source installation of an application to be transformed to a target installation of the application from a plurality of functional areas of the source installation, each functional area comprising a plurality of associated code objects; and identify a first subset of the plurality of associated code objects of the first functional area having associations only to other code objects of the first functional area, and a second subset of the plurality of associated code objects of the first functional area having associations to code objects in additional functional areas, the second subset comprising entry points of the first functional area.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: November 30, 2021
    Assignee: SMARTSHIFT TECHNOLOGIES, INC.
    Inventors: Albrecht Gass, Stefan Hetges, Nikolaos Faradouris, Oliver Flach
  • Patent number: 11176045
    Abstract: In an embodiment, a processor includes a plurality of prefetch circuits configured to prefetch data into a data cache. A primary prefetch circuit may be configured to generate first prefetch requests in response to a demand access, and may be configured to invoke a second prefetch circuit in response to the demand access. The second prefetch circuit may implement a different prefetch mechanism than the first prefetch circuit. If the second prefetch circuit reaches a threshold confidence level in prefetching for the demand access, the second prefetch circuit may communicate an indication to the primary prefetch circuit. The primary prefetch circuit may reduce a number of prefetch requests generated for the demand access responsive to the communication from the second prefetch circuit.
    Type: Grant
    Filed: March 27, 2020
    Date of Patent: November 16, 2021
    Assignee: Apple Inc.
    Inventors: Stephan G. Meier, Tyler J. Huberty, Nikhil Gupta
  • Patent number: 11170463
    Abstract: Methods, systems, apparatus, and articles of manufacture to reduce memory latency when fetching pixel kernels are disclosed. An example apparatus includes a prefetch kernel retriever to generate a block tag based on a first request from a hardware accelerator, the first request including first coordinates of a first pixel disposed in a first image block, a memory interface engine to store the first image block including a plurality of pixels including the pixel in a cache storage based on the block tag, and a kernel retriever to access two or more memory devices included in the cache storage in parallel to transfer a plurality of image blocks including the first image block when a second request is received including second coordinates of a second pixel disposed in the first image block.
    Type: Grant
    Filed: May 18, 2018
    Date of Patent: November 9, 2021
    Assignee: MOVIDIUS LIMITED
    Inventors: Richard Boyd, Richard Richmond
  • Patent number: 11169923
    Abstract: The method for performing read-ahead operations in the data storage systems is disclosed and includes determining a sequential address space interval of a request and a time of the request, placing the data into a read-ahead interval list if the address space interval exceeds a threshold, and placing the data about request intervals having a length shorter than the threshold into a random request interval list, identifying a partial overlap between the address space interval of the current request and the interval stored in one of the lists, verifying whether the length of the address space interval exceeds a threshold and if so—placing the data about this sequential interval into the read-ahead interval list, performing read-ahead of data.
    Type: Grant
    Filed: July 16, 2018
    Date of Patent: November 9, 2021
    Assignee: RAIDIX
    Inventors: Evgeny Evgenievich Anastasiev, Svetlana Viktorovna Lazareva