Abstract:
According to one general aspect, an apparatus may include a processor, a heterogeneous memory system, and a memory interconnect. The processor may be configured to perform a data access on data stored in a memory system. The heterogeneous memory system may include a plurality of types of storage mediums. Each type of storage medium may be based upon a respective memory technology and may be associated with one or more performance characteristics. The heterogeneous memory system may include both volatile and non-volatile storage mediums. The memory interconnect may be configured to route the data access from the processor to at least one of the storage mediums based, at least in part, upon the one or more performance characteristic associated with the respective memory technologies of the storage media.
Abstract:
A memory module includes a solid-state drive (SSD) and a memory controller. The memory controller receives information from a host memory controller via a synchronous memory channel and determines to initiate background tasks of the SSD based on memory commands and a state of the memory module. According to one embodiment, the synchronous memory channel is a DRAM memory channel, and the SSD includes a flash memory. The background tasks of the SSD such as garbage collection, wear leveling, and erase block preparation are initiated during an idle state of the memory module.
Abstract:
A storage device for deduplicating data includes a memory that stores machine instructions and a controller coupled to the memory to execute the machine instructions in order to compare a data pattern associated with a write request to stored data. If the data pattern matches the stored data, the controller further executes the machine instructions to increment a counter associated with the data pattern and map a source storage address corresponding to the data pattern to a physical storage address associated with the storage device.
Abstract:
According to one general aspect, an apparatus may include a processor, a heterogeneous memory system, and a memory interconnect. The processor may be configured to perform a data access on data stored in a memory system. The heterogeneous memory system may include a plurality of types of storage mediums. Each type of storage medium may be based upon a respective memory technology and may be associated with one or more performance characteristics. The heterogeneous memory system may include both volatile and non-volatile storage mediums. The memory interconnect may be configured to route the data access from the processor to at least one of the storage mediums based, at least in part, upon the one or more performance characteristic associated with the respective memory technologies of the storage media.
Abstract:
Inventive aspects include one or more local servers each including a local universal access logic section, one or more remote servers each including a remote universal access logic section, and a coherency node to provide coherent access to first data that is stored on the one or more local servers to the one or more remote servers, and to provide coherent access to second data that is stored on the one or more remote servers to the one or more local servers. Embodiments of the inventive concept herein can use hardware and/or software mechanism to unify direct and remote attached devices via command, data, status, and completion memory queues. Applications and operating systems can be presented with a uniform access interface for sharing data and resources across multiple disparately situated servers and nodes.