Configurable caching policy for transferring data via shared memory

    公开(公告)号:US11687462B1

    公开(公告)日:2023-06-27

    申请号:US17653612

    申请日:2022-03-04

    CPC classification number: G06F12/084 G06F9/544 G06F12/0871

    Abstract: Techniques are disclosed for transferring a message between a sender agent and a receiver agent via a shared memory having a main memory and a cache. Feedback data indicative of a number of read messages in the shared memory is generated by the receiver agent. The feedback data is sent from the receiver agent to the sender agent. A number of unread messages in the shared memory is estimated by the sender agent based on the number of read messages. A threshold for implementing a caching policy is set by the sender agent based on the feedback data. The message is designated as cacheable if the number of unread messages is less than the threshold and as non-cacheable if the number of unread messages is greater than the threshold. The message is written to the shared memory based on the designation.

    Data transfer using point-to-point interconnect

    公开(公告)号:US11003616B1

    公开(公告)日:2021-05-11

    申请号:US15635078

    申请日:2017-06-27

    Abstract: In a computer comprising a plurality of integrated circuits (ICs), each IC may be connected to all other ICs via a respective point-to-point interconnect. A source IC divides the data to be transmitted to a destination IC for a transaction to generate multiple data cells so that each data cell includes a different portion of the data. The source IC transmits one of the data cells to the destination IC and remaining data cells to intermediate ICs, wherein an intermediate IC is an IC other than the source IC or the destination IC. The intermediate ICs forward the remaining data cells to the destination IC.

    Tracking persistent memory usage
    24.
    发明授权

    公开(公告)号:US10901627B1

    公开(公告)日:2021-01-26

    申请号:US15445324

    申请日:2017-02-28

    Abstract: Disclosed herein are techniques for balancing and reducing the number of write operations performed to each physical memory page of a storage-class memory. In one embodiment, a method includes tracking a count of write operations performed to each physical memory page or subpage of the storage-class memory using a memory management unit, a memory controller, a hypervisor, or an operating system, and selectively allocating physical memory pages of the storage-class memory with the least counts of write operations to a virtual machine or an operating system process using a ranking of the physical memory pages of the storage-class memory determined based at least partially on the count of write operations performed to each physical memory page or subpage of the storage-class memory.

    Eliding redundant copying for virtual machine migration

    公开(公告)号:US10884790B1

    公开(公告)日:2021-01-05

    申请号:US15969650

    申请日:2018-05-02

    Abstract: Systems and methods are provided to reduce the number of redundant copy operations performed as part of a live migration of a virtual machine executing a guest. While pre-copying for the live migration of the VM, the guest may continue to write to the pages. A hypervisor may clear the dirty pages and schedule the copy operations of the modified pages in a processing engine for copying to a target device. In one embodiment, before initiating the copy operation, the processing engine may check if the page has been modified again and omit the copy operation if the page has been modified again.

    Multiple reset types in a system
    26.
    发明授权

    公开(公告)号:US10691576B1

    公开(公告)日:2020-06-23

    申请号:US15716319

    申请日:2017-09-26

    Abstract: An integrated circuit can include a functional unit and a local debug unit. The local debug unit can include a trace buffer, and the local debug unit is configured to track and store operation information of the functional unit in the trace buffer. The integrated circuit can also include a global debug unit coupled to the local debug unit. The integrated circuit is configured to send a debug reset command to reset the functional unit, without sending the debug reset command to the local debug unit, thereby retaining information stored in the trace buffer. The integrated circuit is also configured to send a power-up reset command to reset the local debug unit and the functional unit, thereby causing the local debug unit to clear the trace buffer.

    Core-to-core communication
    27.
    发明授权

    公开(公告)号:US10437748B1

    公开(公告)日:2019-10-08

    申请号:US14983291

    申请日:2015-12-29

    Abstract: Apparatus, methods, and computer-readable storage media are disclosed for core-to-core communication between physical and/or virtual processor cores. In some examples of the disclosed technology, application cores write notification data (e.g., to doorbell or PCI configuration memory space accesses via a memory interface), without synchronizing with the other application cores or the service cores. In one examples of the disclosed technology, a message selection circuit is configured to, serialize data from the plurality of user cores by: receiving data from a user core, selecting one of the service cores to send the data based on a memory location addressed by the sending user core, and sending the received data to a respective message buffer dedicated to the selected service core.

    Monitoring excessive use of a peripheral device

    公开(公告)号:US10261935B1

    公开(公告)日:2019-04-16

    申请号:US15280455

    申请日:2016-09-29

    Abstract: Provided are systems and methods for detecting excessive use of a peripheral device by host processes. In various implementations, a peripheral device can include an integrated circuit that includes a traffic counter. The traffic counter can increment based on events received by the peripheral device. The peripheral device can further include an integrated circuit device configured to associate the traffic counter with a process executing on a host device. The integrated circuit device can further initialize a rate counter for the process. When the rate counter reaches a pre-determined time limit, the integrated circuit device can determine that the process is exceeding a usage limit. The integrated circuit device can further read a value from the traffic counter to verify usage of the peripheral device by the process.

    Device full memory access through standard PCI express bus

    公开(公告)号:US10241951B1

    公开(公告)日:2019-03-26

    申请号:US15796630

    申请日:2017-10-27

    Abstract: A method of transferring data between a host and a PCI device is disclosed. The method comprises mapping a fixed memory-mapping control block in a host memory of the host to a control register of a memory-mapping unit of the PCI device; mapping a dynamic data-access memory block in the host memory to a default memory block in a memory of the PCI device, wherein the memory-mapping unit translates an address between the dynamic data-access memory block and a memory block in the memory of the PCI device; and dynamically modifying a value in the control register of the memory-mapping unit through the fixed memory-mapping control block such that an address of the dynamic data-access memory block in the host memory is translated to a different address in the memory of the PCI device based on the modified value in the control register of the memory-mapping unit.

Patent Agency Ranking