Patents
Literature
Patsnap Eureka AI that helps you search prior art, draft patents, and assess FTO risks, powered by patent and scientific literature data.

30 results about "Associative cache" patented technology

Set associative cache is a trade-off between Direct mapped cache and Fully associative cache. The Set associative cache can be imagined as a (n*m) matrix. The cache is divided into ‘n’ sets and each set contains ‘m’ cache lines. A memory block is first mapped onto a set and then placed into any cache line of the set.

Request management method and device, electronic equipment and storage medium

The invention relates to the technical field of computers, and provides a request management method and device, electronic equipment and a storage medium, and the method comprises the steps: when it is detected that a data access request is subjected to a cache miss, based on a first address carried by the data access request, executing the cache miss on the data access request; checking whether an uncompleted request entry corresponding to the first address exists in a preset request management structure or not, wherein the preset request management structure is a pre-constructed multi-path group associative cache structure used for performing grouping management on a cache miss request; and adding the data access request into a waiting queue of the uncompleted request entry under the condition that the uncompleted request entry exists in the preset request management structure. According to the method and the device, the cache miss requests are subjected to grouping management by adopting a multi-path group associative cache structure, so that the parallel search of the cache miss requests can be realized, and the processing efficiency of the cache miss requests is greatly improved.
Owner:SHANGHAI BIREN TECH CO LTD

Cache Data Distribution for a Stacked Die Configuration

An example system may include a first physical memory integrated within a first die, and a second physical memory integrated within a second die. The first die and second die are coupled in a stack arrangement. The system may also include a cache controller configured to implement a plurality of cache ways of a set associative cache. The plurality of cache ways include a first cache way defined within the first physical memory and a second cache way defined within the second physical memory.
Owner:ADVANCED MICRO DEVICES INC

Store-to-load forwarding correctness checks using physical address proxies stored in load queue entries

A microprocessor includes a load / store unit that performs store-to-load forwarding, a PIPT L2 set-associative cache, a store queue having store entries, and a load queue having load entries. Each L2 entry is uniquely identified by a set index and a way. Each store / load entry holds, for an associated store / load instruction, a store / load physical address proxy (PAP) for a store / load physical memory line address (PMLA). The store / load PAP specifies the set index and the way of the L2 entry into which a cache line specified by the store / load PMLA is allocated. Each load entry also holds associated load instruction store-to-load forwarding information. The load / store unit compares the store PAP with the load PAP of each valid load entry whose associated load instruction is younger in program order than the store instruction and uses the comparison and associated forwarding information to check store-to-load forwarding correctness with respect to each younger load instruction.
Owner:VENTANA MICRO SYSTEMS INC

Dram cache cleaning

A dynamic random access memory (DRAM) device includes functions configured to aid with operating the DRAM device as part of data caching functions. The DRAM, as part of a command seeking to access cache line data, provides information (cache hints) about the cache line status (e.g., valid / invalid, modified / unmodified, etc.) of cache lines that were not directly addressed by the command. These cache hints may be used to initiate operations / command, based on the cache hints, for “cleaning” modified (a.k.a., “dirty”) cache lines by reading the modified data and providing it to other memory levels (e.g., a higher cache level, main memory, backing store, etc.). The DRAM device implements commands that, based on information about a plurality of cache lines (e.g., cache lines stored in the same way of a set associative cache) select a cache line to be cleaned and / or provided for provision to other memory levels.
Owner:RAMBUS INC

Cache data distribution for a stacked die configuration

An example system may include a first physical memory integrated within a first die, and a second physical memory integrated within a second die. The first die and second die are coupled in a stack arrangement. The system may also include a cache controller configured to implement a plurality of cache ways of a set associative cache. The plurality of cache ways include a first cache way defined within the first physical memory and a second cache way defined within the second physical memory.
Owner:ADVANCED MICRO DEVICES INC

Request management methods, devices, electronic devices and storage media

This invention relates to the field of computer technology, providing a request management method, apparatus, electronic device, and storage medium. The method includes: upon detecting a cache miss in a data access request, checking whether an incomplete request entry corresponding to a first address exists in a preset request management structure based on a first address carried by the data access request. The preset request management structure is a pre-constructed multi-way set-associative cache structure for grouping and managing cache miss requests. If the incomplete request entry exists in the preset request management structure, adding the data access request to the waiting queue of the incomplete request entry. This invention, by employing a multi-way set-associative cache structure for grouping and managing cache miss requests, enables parallel lookups of cache miss requests, significantly improving the processing efficiency of cache miss requests.
Owner:SHANGHAI BIREN TECH CO LTD

Pseudo-random way selection

A method includes receiving a first request to allocate a line in an N-way set associative cache and, in response to a cache coherence state of a way indicating that a cache line stored in the way is invalid, allocating the way for the first request. The method also includes, in response to no ways in the set having a cache coherence state indicating that the cache line stored in the way is invalid, randomly selecting one of the ways in the set. The method also includes, in response to a cache coherence state of the selected way indicating that another request is not pending for the selected way, allocating the selected way for the first request.
Owner:TEXAS INSTRUMENTS INC

Scalable hardware cache with configurable logical ports and related thread management

Systems and methods for a scalable hardware cache with configurable logical ports and related thread management are described. A scalable hardware cache includes a request interface having a first logical port and a second logical port associated with a fully-associative cache memory. The first logical port is configured to receive a first set of read requests with an expected cache hit and the second logical port is configured to receive a second set of read requests with an expected cache miss. The scalable hardware cache further includes thread processing circuitry to manage a first maximum number of a first set of threads for processing the first set of read requests and a second maximum number of a second set of threads for processing the second set of read requests that can be active at a given time based on a performance metric associated with the scalable hardware cache.
Owner:MICROSOFT TECHNOLOGY LICENSING LLC

Scalable hardware cache with configurable logical ports and related thread management

Systems and methods for a scalable hardware cache with configurable logical ports and related thread management are described. A scalable hardware cache includes a request interface having a first logical port and a second logical port associated with a fully-associative cache memory. The first logical port is configured to receive a first set of read requests with an expected cache hit and the second logical port is configured to receive a second set of read requests with an expected cache miss. The scalable hardware cache further includes thread processing circuitry to manage a first maximum number of a first set of threads for processing the first set of read requests and a second maximum number of a second set of threads for processing the second set of read requests that can be active at a given time based on a performance metric associated with the scalable hardware cache.
Owner:MICROSOFT TECHNOLOGY LICENSING LLC

Using physical address proxies to accomplish penalty-less processing of load / store instructions whose data straddles cache line address boundaries

A microprocessor includes a physically-indexed physically-tagged second-level set-associative cache. A set index and a way uniquely identifies each entry. A load / store unit, during store / load instruction execution: detects that a first and second portions of store / load data are to be written / read to / from different first and second lines of memory specified by first and second store physical memory line addresses, writes to a store / load queue entry first and second store physical address proxies (PAPs) for first and second store physical memory line addresses (and all the store data in store execution case). The first and second store PAPs comprise respective set indexes and ways that uniquely identifies respective entries of the second-level cache that holds respective copies of the respective first and second lines of memory. The entries of the store queue are absent storage for holding the first and second store physical memory line addresses.
Owner:VENTANA MICRO SYSTEMS INC

A method and apparatus for texture mapping hardware acceleration

In order to further improve the quality of texture mapping and solve the problem of large dynamic random memory bandwidth consumption and data efficiency bottleneck, the application provides a method and device for texture mapping hardware acceleration, which improves the method of output pixel texture mapping to texture pixel points, replaces the bilinear interpolation with bicubic interpolation, and designs a static memory as a multi-path group associative cache, which can set different cache layers according to different application scenarios to reduce the consumption of memory resources, and effectively reduce the redundant bandwidth. The application can flexibly configure the texture cache hierarchy size according to the required texture mapping scene, realize the hardware acceleration of texture mapping through bicubic interpolation, and is suitable for various types of three-dimensional graphics systems.
Owner:EEASY TECH CO LTD

Fully-associative cache management

This application is directed to full-associative cache management. A memory sub-system can receive an access command to store a first data word in a storage component associated with an address space. The memory sub-system can include a full-associative cache to store the data word associated with the storage component. The memory sub-system can determine an address within the cache to store the first data word. For example, the memory sub-system can determine the address of the cache indicated by an address pointer (e.g., based on an order of the address) and determine a number of accesses associated with the data word stored in the cache address. Based on the indicated cache address and the number of accesses, the memory sub-system can store the first data word in the indicated cache address or a second cache address consecutive to the indicated cache address.
Owner:MICRON TECHNOLOGY INC

Storage and access of data and tags in a multi-way set associative cache

Disclosed is a dynamic random access memory (DRAM) that includes a plurality of data rows and a plurality of tag rows. The DRAM includes a communication interface to receive a first group of address bits. The DRAM includes one or more comparators to generate a tag match indication and one or more set bits based on the first group of address bits and a first group of tag information bits from the plurality of tag rows. The one or more comparators are further to combine, based on the tag match indication, the one or more set bits and the first group of address bits to generate a second group of address bits.
Owner:RAMBUS INC

Adaptive system detection actions for minimizing input / output dirty data transmissions

Adaptive system detection actions for minimizing input / output dirty data transmissions are described. In one or more implementations, a system includes: a processor; a memory configured to store data; and a cache configured to store a portion of the data stored in the memory for execution by the processor. The system also includes a cache coherency controller, the cache coherency controller including a cache line history. The cache coherency controller is configured to detect a direct memory access request from an input / output device. The direct memory access request is associated with an input / output operation involving the data. The cache coherency controller is further configured to: identify a cache line associated with the direct memory access request; and in response to the cache line history including a dirty data transfer record corresponding to the cache line, selectively transmitting a probe to the cache based on a state of the cache line.
Owner:ADVANCED MICRO DEVICES INC

Cache replacement control

An apparatus comprises a set associative cache, and cache replacement control circuitry to select, for a given set of the set associative cache, a victim cache entry to be replaced with a new cache entry. The victim cache entry is selected based on cache replacement selection values indicative of a relative priority for selection as the victim cache entry. In response to identifying a plurality of highest victim priority cache entries having equal cache replacement selection values indicative of equal highest priority to be selected as the victim cache entry, the cache replacement control circuitry is configured to select the victim cache entry based on a set-specific selection criterion which favours selection of a victim cache entry belonging to a preferred way for the given set, wherein the preferred way differs between at least two sets of the set associative cache.
Owner:ARM LTD

Low power late-selected caches using a set-prediction history

A method, computer program product, and computer system for reading data stored in a set associative cache. A cache read instruction that did not read the cache after being previously launched is relaunched after an effective address (EA) of the instruction was ascertained. A hash of the ascertained EA (EAHash) and a class congruence class (CCC) is determined from the ascertained EA. A search is performed for a match of the EAHash and CCC of the ascertained EA to the EAHash and CCC, respectively, of an instruction whose EAHash, CCC, and set are stored in an instruction history stream. If the match is found, only read enables associated with the stored set of the match, which is a read enable of only one class of one address group in the cache, are activated. If the match is not found, all read enables of the one address group are activated.
Owner:INTERNATIONAL BUSINESS MACHINE CORPORATION

Low power late-selected caches using a set-prediction history

A method, computer program product, and computer system for reading data stored in a set associative cache. A cache read instruction that did not read the cache after being previously launched is relaunched after an effective address (EA) of the instruction was ascertained. A hash of the ascertained EA (EAHash) and a class congruence class (CCC) is determined from the ascertained EA. A search is performed for a match of the EAHash and CCC of the ascertained EA to the EAHash and CCC, respectively, of an instruction whose EAHash, CCC, and set are stored in an instruction history stream. If the match is found, only read enables associated with the stored set of the match, which is a read enable of only one class of one address group in the cache, are activated. If the match is not found, all read enables of the one address group are activated.
Owner:INTERNATIONAL BUSINESS MACHINE CORPORATION

On-chip flash prefetch accelerator

This invention provides an on-chip FLASH prefetch accelerator, relating to the field of processor memory access optimization technology, including a cache array, an address matching unit, and a prefetch control unit. This invention utilizes a cache array composed of multiple set-associative caches to efficiently cache frequently accessed data in the on-chip FLASH and supports parallel read / write operations. The address matching unit determines whether a processor read request hits the cache. If the read request misses the cache, data needs to be read from the on-chip FLASH. The prefetch control unit loads the target data and its adjacent data into the cache array within the inherent read latency of the FLASH, completing parallel prefetching. Therefore, when a read request hits the cache array, the target data is directly retrieved from the cache array, significantly reducing the waiting latency of on-chip FLASH read access and significantly improving the overall data access efficiency and system performance of the microcontroller.
Owner:NORTHWESTERN POLYTECHNICAL UNIV

Cache management method, system and storage medium

This invention relates to the field of cache technology, and particularly to a cache management method, system, and storage medium. The cache management method includes the following steps: establishing a multi-way set-associative cache, where each way in the multi-way set-associative cache is used to simultaneously store cache information and replacement information; accessing the cache directory and replacement directory of the multi-way set-associative cache in parallel; determining whether the processor's current access data results in a cache hit based on the cache information; and determining whether there are any free ways in the multi-way set-associative cache; selecting the way in the multi-way set-associative cache that needs to be replaced based on the replacement information and the determination result using a replacement algorithm; updating the cache information and replacement information of the multi-way set-associative cache based on the current access data, the hit result, the determination result, and the replacement target; and writing the replacement result back to memory. Compared with existing technologies, this invention effectively improves the cache access rate and bandwidth, and reduces hardware overhead.
Owner:RIVAI TECH (SHENZHEN) CO LTD

Methods, apparatus, caches and computer systems for handling memory access requests

This application discloses a memory access request processing method, apparatus, cache, and computer system. It uses a temporary buffer with the same depth as the missing state holding register to cache the memory access responses corresponding to each data memory access request. It searches and pops target request entries from the missing state holding register whose readiness state is "data ready" and whose corresponding cache group is unlocked. Based on the cache index in the target request entry, it reads the memory access response corresponding to the cache index from the temporary buffer and stores the read memory access response into the cache line corresponding to the data memory access request. This method ensures that while allocating cache lines for data memory access requests, the total number of memory access responses is at most equal to the depth of the missing state holding register, making the temporary buffer depth controllable. It solves the cache group locking problem in a delayed allocation architecture for set-associative caches and avoids backpressure.
Owner:T-HEAD (SHANGHAI) SEMICON CO LTD

Solid state disk address mapping method based on group associative cache, flash controller and system

The application discloses a solid state disk address mapping method based on group associative cache, a flash memory controller and a system, and belongs to the technical field of data storage, and comprises the following steps: a cache table containing N mapping groups is established in DRAM, each mapping group contains M slot positions, and each slot position is used for storing a mapping entry recording the mapping relationship from a logical page number to a physical page number; a logical address space is evenly divided into multiple LPN segments, each LPN segment contains continuous A logical page numbers, and the logical page numbers in the same LPN segment are mapped to the same mapping group; the mapping group number to which the logical page number LPN is mapped is; in the same mapping group, dirty entries are stored in the bottom of the mapping group; on this basis, logical and physical continuous mapping pairs are compressed and combined; when the dirty entries in the mapping group reach a threshold value, batch writing is started on the corresponding writing group. The application can realize low-overhead address mapping in limited DRAM space and maintain the relatively optimal read-write performance of a solid state disk.
Owner:HUAZHONG UNIV OF SCI & TECH

Multiway set associative cache and method of accessing the same, computer device

The application relates to a multi-path group connection cache memory and an access method and computer equipment thereof, which comprise a controller, an address management module, a data storage module and a hit judgment module; the data storage module comprises a plurality of first static random access memories, each of which comprises m storage units; each path comprises a plurality of cache lines, and the data of each cache line is divided into m categories of data sub-blocks in high-low order; m categories of data sub-blocks of each path are stored in the m first static random access memories respectively, and a plurality of data sub-blocks of the same category of each path are stored in the same storage unit; the categories of the data sub-blocks stored in the m storage units of each first static random access memory are all different; and m is greater than 0. Through the application, the technical problem of low row utilization rate of the SRAM of the DATA-SRAM in the current small-capacity Cache can be solved.
Owner:SHANGHAI JAGUAR MICROSYSTEMS CO LTD

Operating method of set-associative cache and system including set-associative cache

An operating method of a set-associative cache includes selecting one way group from among a first way group and a second way group with different threshold voltages based on an operation state of the set-associative cache, increasing a number of ways to which power is supplied in the selected one way group, analyzing a change in an operation state of a system including the set-associative cache as the number of ways to which the power is supplied is increased, and determining whether to further increase the number of ways to which the power is supplied based on an analyzed change in the operation state of the system.
Owner:SAMSUNG ELECTRONICS CO LTD

Pseudo-random route selection

A method (1100) includes receiving a first request for allocation of a way in an N-way set-associative cache (1102), and allocating the way for the first request in response to a cache coherency state of the way indicating that a cache line stored in the way is invalid (1104). The method also includes randomly selecting one of the ways in the set in response to none of the ways in the set having a cache coherency state indicating that the cache line stored in the way is invalid (1106). The method also includes allocating the selected way for the first request in response to a cache coherency state of the selected way indicating that another request is not pending for the selected way (1108).
Owner:TEXAS INSTRUMENTS INC

Method to implement set-associative cache controller

An apparatus and method for efficiently processing cache accesses of an integrated circuit. In various implementations, a computing system includes a cache with a tag array, a cache controller, and a data array. The cache controller includes a cache set status array. The cache set status array stores data using any of a variety of flip-flop circuits, which reduces access times and power consumption compared to random access memory (RAM) cells. In each pipeline stage prior to updating the cache set status array, the cache controller conditionally updates cache set status values based on comparisons between a selected set of the memory access request with a set of a previous memory access request that has not yet updated the status array. Updates of cache status values based on the tag comparison occur in the second pipeline stage, which allows reduction of the clock cycle.
Owner:ADVANCED MICRO DEVICES INC

Pseudo-random route selection

This application relates to pseudo-random way selection. A method (1100) includes receiving a first request (1102) to allocate a line in an N-way set-associative cache, and allocating (1104) a way for the first request in response to a cache coherency state of the way indicating that a cache line stored in the way is invalid. The method also includes randomly selecting (1106) one of the ways in the set in response to none of the ways in the set having a cache coherency state indicating that the cache line stored in the way is invalid. The method also includes allocating (1108) the selected way for the first request in response to a cache coherency state of the selected way indicating that another request is not pending for the selected way.
Owner:TEXAS INSTRUMENTS INC

System and Method for Central Processing Unit (CPU)-based Machine Learning Training Using Affinitized Threads

A method, computer program product, and computing system for assigning a data shard associated with a machine learning application to each CPU core of a plurality of CPU cores. The data shard of a respective CPU core is loaded to a corresponding affinitized cache memory. A processing thread for the data shard is assigned to the respective CPU core. Multiple processing threads for the data shard are executed using the same respective CPU core and the corresponding cache memory.
Owner:MICROSOFT TECHNOLOGY LICENSING LLC

Cache management method and system and storage medium

The invention is suitable for the technical field of caches, and particularly relates to a cache management method and system and a storage medium. The cache management method comprises the following steps: establishing a multi-path group associative cache, wherein each path in the multi-path group associative cache is used for storing cache information and replacement information at the same time; accessing a cache directory and a replacement directory of the multi-path group associative cache in parallel; judging whether the current access data of the processor generates cache hit or not according to the cache information; judging whether an idle path exists in the multi-path group associative cache or not; selecting a path needing to be replaced in the multi-path group associative cache according to the replacement information and the judgment result on the basis of a replacement algorithm; according to the current access data, the hit result, the judgment result and the replacement target, cache information and replacement information of the multi-path group associative cache are updated; and writing the replacement result back to the memory. Compared with the prior art, the access rate and the access bandwidth of the cache are effectively improved, and the hardware overhead is reduced.
Owner:RIVAI TECH (SHENZHEN) CO LTD