Patent classifications
G06F12/1054
Speculative addressing using a virtual address-to-physical address page crossing buffer
A method includes receiving an instruction to be executed by a processor. The method further includes performing a lookup in a page crossing buffer that includes one or more entries to determine if the instruction has an entry in the page crossing buffer. Each of the entries includes a physical address. The method further includes, when the page crossing buffer has the entry in the page crossing buffer, retrieving a particular physical address from the entry in the page crossing buffer.
Mixed cache management
A mixed cache is indexed to main memory and page coloring is applied to map main memory to virtual memory. A nursery array and a mature array are indexed to virtual memory. An access to a virtual page from the mixed cache is recorded by determining an index and a tag of an array address based on a virtual address, following the index to corresponding rows in the nursery and the mature arrays, and determining if the tag in the array address matches any tag in the rows. When there is a match to a tag in the rows, an access count in a virtual page entry corresponding to the matched tags is incremented. When there is no match, a virtual page entry in the row in the nursery array is written with the tag in the array address and an access count in the entry is incremented.
DRAM/NVM HIERARCHICAL HETEROGENEOUS MEMORY ACCESS METHOD AND SYSTEM WITH SOFTWARE-HARDWARE COOPERATIVE MANAGEMENT
The present invention provides a DRAM/NVM hierarchical heterogeneous memory system with software-hardware cooperative management schemes. In the system, NVM is used as large-capacity main memory, and DRAM is used as a cache to the NVM. Some reserved bits in the data structure of TLB and last-level page table are employed effectively to eliminate hardware costs in the conventional hardware-managed hierarchical memory architecture. The cache management in such a heterogeneous memory system is pushed to the software level. Moreover, the invention is able to reduce memory access latency in case of last-level cache misses. Considering that many applications have relatively poor data locality in big data application environments, the conventional demand-based data fetching policy for DRAM cache can aggravates cache pollution. In the present invention, an utility-based data fetching mechanism is adopted in the DRAM/NVM hierarchical memory system, and it determines whether data in the NVM should be cached in the DRAM according to current DRAM memory utilization and application memory access patterns. It improves the efficiency of the DRAM cache and bandwidth usage between the NVM main memory and the DRAM cache.
System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
During operation, the system receives a chunk of data to be written to a non-volatile memory, wherein the chunk includes a plurality of sectors. The system assigns consecutive logical block addresses (LBAs) to the plurality of sectors. In response to determining that a first sector is associated with an existing stream for the chunk, the system appends the first sector to one or more other sectors stored in a first buffer associated with the existing stream. The system detects that a total size of the stored sectors in the first buffer is the same as a first size of a physical page in the non-volatile memory. The system writes the stored sectors from the first buffer to the non-volatile memory at a first physical page address. The system creates, in a data structure, a first entry which maps the LBAs of the written sectors to the first physical page address.
POWER OPTIMIZED PREFETCHING IN SET-ASSOCIATIVE TRANSLATION LOOKASIDE BUFFER STRUCTURE
A computer system includes a processor and a prefetch engine. The processor is configured to generate a demand access stream. The prefetch engine is configured to initiate a first prefetch request based on the demand access stream and perform a first prefetch that includes performing a translation lookaside buffer (TLB) lookup on a TLB structure in response to the first prefetch request. The processor determines a TLB entry in response to performing the TLB lookup and performs at least one second prefetch based on the TLB entry without performing a subsequent TLB lookup on the TLB structure.
Pivot rack
Racks and rack systems to support a plurality of sleds are disclosed herein. A rack comprises an elongated support post and a plurality of support chassis. The elongated support post extends vertically. The plurality of support chassis are coupled to the elongated support post. Each support chassis of the plurality of support chassis is sized to house a corresponding sled of the plurality of sleds.
TIERED PERSISTENT MEMORY ALLOCATION
The present disclosure relates to one or more memory management techniques. In embodiments, one or more regions of storage class memory (SCM) of a storage array is provisioned as expanded global memory. The one or more regions can correspond to SCM persistent cache memory regions. The storage array's global memory and expanded global memory can be used to execute one or more storage-related services connected to servicing (e.g., executing) an input/output (IO) operation.
Memory manager having an address translation function, data processing structure including the same, and method for generating address translation information
A memory manager includes an internal memory and a hash function circuit. The internal memory includes a V2H (virtual address to hash function) table and an exception mapping table. The V2H table stores at least one virtual address group and a type information on a hash function mapped to the virtual address group. The exception mapping table stores at least one exception virtual address not translated into a physical address by the hash function in the virtual address group and a physical address mapped to the exception virtual address. The has function circuit checks, when a virtual address is provided from a host, type information on a hash function mapped to a virtual address group including the virtual address, by referring to the V2H table included in the internal memory. The has function translates the virtual address into a physical address by using the hash function corresponding to the type information.
Store-to-load forwarding using physical address proxies to identify candidate set of store queue entries
A microprocessor includes a physically-indexed-and-tagged second-level set-associative cache. Each cache entry is uniquely identified by a set index and way number. Each store queue (SQ) entry holds store data for writing to a store physical address and a store physical address proxy (PAP) for the store physical line address. The store PAP specifies the set index and way number of the cache entry allocated to the store physical line address. A load unit obtains a load PAP for a load physical line address that specifies the set index and way number of the cache entry allocated to the load physical line address. The SQ compares the load PAP with each valid store PAP for use in identifying a candidate set of SQ entries whose store data overlaps requested load data and selects an entry from the candidate set from which to forward the store data to the load instruction.
Flash-Based Coprocessor
A processor corresponding to a core of a coprocessor, a cache used as a buffer of the processor, and a flash controller are connected to an interconnect network. The flash controller and a flash memory are connected to a flash network. The flash controller reads or writes target data of a memory request from or to the flash memory.