Patents by Inventor Alaa R. Alameldeen

Alaa R. Alameldeen 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: 20190163628
    Abstract: An apparatus is described. The apparatus includes memory control logic circuitry having circuity to a limit an amount of dirty data kept in a volatile level of a multi-level memory. The volatile level of the multi-level memory to act as a cache for a non-volatile, lower level of the multi-level memory. The amount of dirty data in the cache to be limited by the memory control logic circuitry to less than the capacity of the cache.
    Type: Application
    Filed: January 30, 2019
    Publication date: May 30, 2019
    Inventors: Zhe WANG, Alaa R. ALAMELDEEN
  • Patent number: 10261901
    Abstract: An apparatus is described. The apparatus includes a last level cache and a memory controller to interface to a multi-level system memory. The multi-level system memory has a caching level. The apparatus includes a first prediction unit to predict unneeded blocks in the last level cache. The apparatus includes a second prediction unit to predict unneeded blocks in the caching level of the multi-level system memory.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: April 16, 2019
    Assignee: Intel Corporation
    Inventors: Zhe Wang, Christopher B. Wilkerson, Zeshan A. Chishti, Seth H. Pugsley, Alaa R. Alameldeen, Shih-Lien L. Lu
  • Publication number: 20190095332
    Abstract: Systems, apparatuses and methods may provide for technology to maintain a prediction table that tracks missed page addresses with respect to a first memory. If an access request does not correspond to any valid page addresses in the prediction table, the access request may be sent to the first memory. If the access request corresponds to a valid page address in the prediction table, the access request may be sent to the first memory and a second memory in parallel, wherein the first memory is associated with a shorter access time than the second memory.
    Type: Application
    Filed: September 28, 2017
    Publication date: March 28, 2019
    Inventors: Zhe Wang, Zeshan A. Chishti, Alaa R. Alameldeen, Rajat Agarwal
  • Publication number: 20190095331
    Abstract: A method is described. The method includes receiving a read or write request for a cache line. The method includes directing the request to a set of logical super lines based on the cache line's system memory address. The method includes associating the request with a cache line of the set of logical super lines. The method includes, if the request is a write request: compressing the cache line to form a compressed cache line, breaking the cache line down into smaller data units and storing the smaller data units into a memory side cache. The method includes, if the request is a read request: reading smaller data units of the compressed cache line from the memory side cache and decompressing the cache line.
    Type: Application
    Filed: September 28, 2017
    Publication date: March 28, 2019
    Inventors: Israel DIAMAND, Alaa R. ALAMELDEEN, Sreenivas SUBRAMONEY, Supratik MAJUMDER, Srinivas Santosh Kumar MADUGULA, Jayesh GAUR, Zvika GREENFIELD, Anant V. NORI
  • Publication number: 20190050332
    Abstract: Provided are an apparatus and system to cache data in a first cache and a second cache that cache data from a shared memory in a local processor node, wherein the shared memory is accessible to at least one remote processor node. A cache controller writes a block to the second cache in response to determining that the block is more likely to be accessed by the local processor node than a remote processor node. The first cache controller writes the block to the shared memory in response to determining that the block is more likely to be accessed by the one of the at least one remote processor node than the local processor node without writing to the second cache.
    Type: Application
    Filed: June 1, 2018
    Publication date: February 14, 2019
    Inventors: Alaa R. ALAMELDEEN, Gino CHACON
  • Publication number: 20190050333
    Abstract: To reduce overhead for cache coherence for shared cache in multi-processor systems, adaptive granularity allows tracking shared data at a coarse granularity and unshared data at fine granularity. Processes for adaptive granularity select how large of an entry is required to track the coherence of a block based on its state. Shared blocks are tracked in coarse-grained region entries that include a sharer tracking bit vector and a bit vector that indicates which blocks are likely to be present in the system, but do not identify the owner of the block. Modified/unshared data is tracked in fine-grained entries that permit ownership tracking and exact location and invalidation of cache. Large caches where the majority of blocks are shared and not modified create less overhead by being tracked in the less costly coarse-grained region entries.
    Type: Application
    Filed: June 29, 2018
    Publication date: February 14, 2019
    Inventors: Gino CHACON, Alaa R. ALAMELDEEN
  • Publication number: 20190042145
    Abstract: An apparatus is described that includes a memory controller to couple to a multi-level memory characterized by a faster higher level and a slower lower level. The memory controller having early demotion logic circuitry to demote a page from the higher level to the lower level without system software having to instruct the memory controller to demote the page and before the system software promotes another page from the lower level to the higher level.
    Type: Application
    Filed: December 26, 2017
    Publication date: February 7, 2019
    Inventors: Binh PHAM, Christopher B. WILKERSON, Alaa R. ALAMELDEEN, Zeshan A. CHISHTI, Zhe WANG
  • Publication number: 20190042422
    Abstract: One embodiment provides an apparatus. The apparatus includes last level cache circuitry and cache management circuitry. The last level cache circuitry stores cache blocks that at least partially include a subset of cache blocks stored by near memory circuitry. The near memory circuitry is configured in an n-way set associative format that references the cache blocks stored by the near memory circuitry using set identifiers and way identifiers. The cache management circuitry stores way identifiers for the cache blocks of the near memory circuitry within the cache blocks in the last level cache circuitry. Storing way identifiers in the cache blocks of the last level cache enables the cache management circuitry or memory controller circuitry to write back a cache block without reading tags in one or more ways of the near memory circuitry.
    Type: Application
    Filed: March 21, 2018
    Publication date: February 7, 2019
    Applicant: Intel Corporation
    Inventors: Zhe Wang, Alaa R. Alameldeen
  • Publication number: 20190041952
    Abstract: A device is configured to be in communication with one or more host cores via a first communication path. A first set of processing-in-memory (PIM) cores and a second set of PIM cores are configured to be in communication with a memory included in the device over a second communication path, wherein the first set of PIM cores have greater processing power than the second set of PIM cores, and wherein the second communication path has a greater bandwidth for data transfer than the first communication path. Code offloaded by the one or more host cores are executed in the first set of PIM cores and the second set of PIM cores.
    Type: Application
    Filed: August 21, 2018
    Publication date: February 7, 2019
    Inventors: Alaa R. ALAMELDEEN, Berkin AKIN
  • Patent number: 10108549
    Abstract: A method is described that includes creating a first data pattern access record for a region of system memory in response to a cache miss at a host side cache for a first memory access request. The first memory access request specifies an address within the region of system memory. The method includes fetching a previously existing data access pattern record for the region from the system memory in response to the cache miss. The previously existing data access pattern record identifies blocks of data within the region that have been previously accessed. The method includes pre-fetching the blocks from the system memory and storing the blocks in the cache.
    Type: Grant
    Filed: September 23, 2015
    Date of Patent: October 23, 2018
    Assignee: Intel Corporation
    Inventors: Zhe Wang, Christopher B. Wilkerson, Zeshan A. Chishti, Seth H. Pugsley, Alaa R. Alameldeen, Shih-Lien L. Lu
  • Patent number: 10048868
    Abstract: Systems, apparatuses and methods may provide for identifying a first block and a second block, wherein the first block includes a first plurality of cache lines, the second block includes a second plurality of cache lines, and the second block resides in a memory-side cache. Additionally, each cache line in the first plurality of cache lines may be compressed with a corresponding cache line in the second plurality of cache lines to obtain a compressed block that includes a third plurality of cache lines. In one example, the second block is replaced in the memory-side cache with the compressed block if the compressed block satisfies a size condition.
    Type: Grant
    Filed: September 29, 2016
    Date of Patent: August 14, 2018
    Assignee: Intel Corporation
    Inventors: Alaa R. Alameldeen, Glenn J. Hinton, Blaise Fanning, James J. Greensky
  • Publication number: 20180188953
    Abstract: Provided are an apparatus, system and method to determine whether to use a low or high read voltage. First level indications of write addresses, for locations in the non-volatile memory to which write requests have been directed, are included in a first level data structure. For a write address of the write addresses having a first level indication in the first level data structure, the first level indication of the write address is removed from the first level data structure and a second level indication for the write address is added to a second level data structure to free space in the first level data structure to indicate a further write address. A first voltage level is used to read data from read addresses mapping to one of the first and second level indications in the first and the second level data structures, respectively.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Zhe WANG, Zeshan A. CHISHTI, Muthukumar P. SWAMINATHAN, Alaa R. ALAMELDEEN, Kunal A. KHOCHARE, Jason A. GAYMAN
  • Publication number: 20180173636
    Abstract: A first request to evict a first cache line that is stored in a cache memory may be received. The first cache line may be evicted based on a replacement policy. A second request to evict a second cache line from the cache memory may be received. Following the receipt of the second request, it is determined whether a condition associated with the replacement policy has been satisfied. If the condition associated with replacement policy has been satisfied, then the second cache line may be evicted based on a random replacement policy.
    Type: Application
    Filed: December 20, 2016
    Publication date: June 21, 2018
    Inventors: Elizabeth Reed, Alaa R. Alameldeen, Helia Naeimi, Patrick F. Stolt
  • Publication number: 20180095674
    Abstract: In one embodiment, an inter-memory transfer interface having selective data compression/decompression in accordance with the present description, selects from multiple candidate processes, a compression/decompression process to compress a region of data from a near memory before transmitting the compressed data to the far memory. In another aspect, the inter-memory transfer interface stores metadata indicating the particular compression/decompression process selected to compress that region of data. The stored metadata may then be used to identify the compression/decompression technique selected to compress a particular region of data, for purposes of locating the compressed data and subsequently decompressing data of that region when read from the far memory. Other aspects are described herein.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Alaa R. ALAMELDEEN, Glenn J. HINTON, Blaise FANNING, Robert J. ROYER, JR., James J. GREENSKY
  • Publication number: 20180088822
    Abstract: Systems, apparatuses and methods may provide for identifying a first block and a second block, wherein the first block includes a first plurality of cache lines, the second block includes a second plurality of cache lines, and the second block resides in a memory-side cache. Additionally, each cache line in the first plurality of cache lines may be compressed with a corresponding cache line in the second plurality of cache lines to obtain a compressed block that includes a third plurality of cache lines. In one example, the second block is replaced in the memory-side cache with the compressed block if the compressed block satisfies a size condition.
    Type: Application
    Filed: September 29, 2016
    Publication date: March 29, 2018
    Inventors: Alaa R. Alameldeen, Glenn J. Hinton, Blaise Fanning, James J. Greensky
  • Publication number: 20180088853
    Abstract: A method is described. The method includes performing the following in a computing system having a multi-level system memory, the multi-level system memory having a first level and a second level: switching between utilization of the first level as a cache for the second level and separately addressable system memory depending on a state of the computing system.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 29, 2018
    Inventors: Jagadish B. KOTRA, Alaa R. ALAMELDEEN, Christopher B. WILKERSON, Jaewoong SIM
  • Patent number: 9921961
    Abstract: A multi-level memory management circuit can remap data between near and far memory. In one embodiment, a register array stores near memory addresses and far memory addresses mapped to the near memory addresses. The number of entries in the register array is less than the number of pages in near memory. Remapping logic determines that a far memory address of the requested data is absent from the register array and selects an available near memory address from the register array. Remapping logic also initiates writing of the requested data at the far memory address to the selected near memory address. Remapping logic further writes the far memory address to an entry of the register array corresponding to the selected near memory address.
    Type: Grant
    Filed: January 6, 2017
    Date of Patent: March 20, 2018
    Assignee: Intel Corporation
    Inventors: Christopher B. Wilkerson, Alaa R. Alameldeen, Zhe Wang, Zeshan A. Chishti
  • Patent number: 9921972
    Abstract: An apparatus and method for implementing a heterogeneous memory subsystem is described. For example, one embodiment of a processor comprises: memory mapping logic to subdivide a system memory space into a plurality of memory chunks and to map the memory chunks across a first memory and a second memory, the first memory having a first set of memory access characteristics and the second memory having a second set of memory access characteristics different from the first set of memory access characteristics; and dynamic remapping logic to swap memory chunks between the first and second memories based, at least in part, on a detected frequency with which the memory chunks are accessed.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: March 20, 2018
    Assignee: Intel Corporation
    Inventors: Christopher B. Wilkerson, Alaa R. Alameldeen, Zeshan A. Chishti, Jaewoong Sim
  • Publication number: 20170277633
    Abstract: A multi-level memory management circuit can remap data between near and far memory. In one embodiment, a register array stores near memory addresses and far memory addresses mapped to the near memory addresses. The number of entries in the register array is less than the number of pages in near memory. Remapping logic determines that a far memory address of the requested data is absent from the register array and selects an available near memory address from the register array. Remapping logic also initiates writing of the requested data at the far memory address to the selected near memory address. Remapping logic further writes the far memory address to an entry of the register array corresponding to the selected near memory address.
    Type: Application
    Filed: January 6, 2017
    Publication date: September 28, 2017
    Inventors: Christopher B. WILKERSON, Alaa R. ALAMELDEEN, Zhe WANG, Zeshan A. CHISHTI
  • Publication number: 20170255561
    Abstract: Technologies for increasing associativity of a direct mapped cache using compression include an apparatus that includes a memory to store data blocks, a cache to store a subset of the data blocks in various of physical cache blocks, and a memory management unit (MMU). The MMU is to compress data blocks associated with locations of the main memory that are mapped to a physical cache block and write the compressed data blocks to the physical cache block if the combined size of the compressed blocks satisfies a threshold size. Other embodiments are also described and claimed.
    Type: Application
    Filed: March 7, 2016
    Publication date: September 7, 2017
    Inventors: Alaa R. Alameldeen, Rajat Agarwal