G06F2212/657

Zone-aware memory management in memory subsystems
11550727 · 2023-01-10 · ·

Disclosed is a system including a memory device having a plurality of physical memory blocks and associated with a logical address space that comprises a plurality of zones, wherein each zone comprises a plurality of logical block addresses (LBAs), and a processing device, operatively coupled with the memory device, to perform operations of receiving a request to store data referenced by an LBA associated with a first zone of the plurality of zones, obtaining a version identifier of the first zone, obtaining erase values for a plurality of available physical memory blocks of the memory device, selecting, in view of the version identifier of the first zone and the erase values, a first physical memory block of the plurality of available physical memory blocks, mapping a next available LBA within the first zone to the first physical memory block, and storing the data in the first physical memory block.

Semiconductor memory device with mapping factor generating unit for improving reliability

A semiconductor memory is provided. The memory includes: a memory array; a row address processing unit configured to output a row address; a bank address processing unit configured to output a bank address; a column address processing unit configured to output a column address; and a mapping factor generating unit, configured to generate a mapping factor, wherein an output of the mapping factor generating unit is coupled to at least one of an output of the row address processing unit, an output of the bank address processing unit, and an output of the column address processing unit, and the output of the mapping factor generating unit is further coupled to the memory array, and wherein the memory array receives a result from logical processing performed on the mapping factor and at least one of the row address, the bank address, and the column address. The technical solutions of the embodiments of the present invention can improve the security, service life and reliability of the semiconductor memory.

Real time input/output address translation for virtualized systems

In an example, a device includes a memory and a processor core coupled to the memory via a memory management unit (MMU). The device also includes a system MMU (SMMU) cross-referencing virtual addresses (VAs) with intermediate physical addresses (IPAs) and IPAs with physical addresses (PAs). The device further includes a physical address table (PAT) cross-referencing IPAs with each other and cross-referencing PAs with each other. The device also includes a peripheral virtualization unit (PVU) cross-referencing IPAs with PAs, and a routing circuit coupled to the memory, the SMMU, the PAT, and the PVU. The routing circuit is configured to receive a request comprising an address and an attribute and to route the request through at least one of the SMMU, the PAT, or the PVU based on the address and the attribute.

Address hashing in a multiple memory controller system

In an embodiment, a system may support programmable hashing of address bits at a plurality of levels of granularity to map memory addresses to memory controllers and ultimately at least to memory devices. The hashing may be programmed to distribute pages of memory across the memory controllers, and consecutive blocks of the page may be mapped to physically distant memory controllers. In an embodiment, address bits may be dropped from each level of granularity, forming a compacted pipe address to save power within the memory controller. In an embodiment, a memory folding scheme may be employed to reduce the number of active memory devices and/or memory controllers in the system when the full complement of memory is not needed.

Universal pointers for data exchange in a computer system having independent processors
11544069 · 2023-01-03 · ·

A system, method and apparatus to facilitate data exchange via pointers. For example, in a computing system having a first processor and a second processor that is separate and independent from the first processor, the first processor can run a program configured to use a pointer identifying a virtual memory address having an ID of an object and an offset within the object. The first processor can use the virtual memory address to store data at a memory location in the computing system and/or identify a routine at the memory location for execution by the second processor. After the pointer is communicated from the first processor to the second processor, the second processor can access the same memory location identified by the virtual memory address. The second processor may operate on the data stored at the memory location or load the routine from the memory location for execution.

Temperature correction in memory sub-systems

A memory device may receive a read request describing a logical address at the memory device. The memory device may obtain a table entry associated with the logical address. The table entry comprises a physical address corresponding to the logical address and a write temperature data indicating a write temperature for the logical address. The memory device may determine a corrected threshold voltage for reading the physical address based at least in part on the write temperature data and read the physical address using the corrected threshold voltage.

Memory error handling during and/or immediately after a virtual machine migration

According to aspects of the present disclosure, systems and methods can be provided to recover from memory errors that occur during or following a virtual machine migration. Methods, computer program products and/or systems are provided for handling memory error that perform the following operations: (i) obtaining a memory address that triggered an uncorrected error on a first host associated with a virtual machine migration; (ii) computing a page associated with the memory address; (iii) determining if a copy of the page associated with the memory address is available on a second host associated with the virtual machine migration; (iv) obtaining data from the copy of the page on the second host; and (v) generating a new page on the first host with the data obtained from the second host.

Coherence-based cache-line Copy-on-Write

A method of performing a copy-on-write on a shared memory page is carried out by a device communicating with a processor via a coherence interconnect. The method includes: adding a page table entry so that a request to read a first cache line of the shared memory page includes a cache-line address of the shared memory page and a request to write to a second cache line of the shared memory page includes a cache-line address of a new memory page; in response to the request to write to the second cache line, storing new data of the second cache line in a second memory and associating the second cache-line address with the new data stored in the second memory; and in response to a request to read the second cache line, reading the new data of the second cache line from the second memory.

DATA COMMUNICATION METHOD, COMMUNICATION SYSTEM AND COMPUTER-READABLE STORAGE MEDIUM
20220413702 · 2022-12-29 ·

The present application provides a data communication method, a communication system and a computer-readable storage medium. The method comprises: acquiring, by a data production module, target data to be sent to a data consumption module; determining in a preset GPU shared memory, by the data production module, a target memory block into which the target data is to be written, wherein the GPU shared memory is a predetermined GPU memory for data communication between the data production module and the data consumption module; writing, by the data production module, the target data into the target memory block to obtain memory address information corresponding to the target data; and sending, by the data production module, the memory address information to the data consumption module so that the data consumption module is operable to access the target data based on the memory address information.

CONCURRENT PROCESSING OF MEMORY MAPPING INVALIDATION REQUESTS
20220414016 · 2022-12-29 ·

A translation lookaside buffer (TLB) receives mapping invalidation requests from one or more sources, such as one or more processing units of a processing system. The TLB includes one or more invalidation processing pipelines, wherein each processing pipeline includes multiple processing states arranged in a pipeline, so that a given stage executes its processing operations concurrent with other stages of the pipeline executing their processing operations.