Arbitration allocating requests during backpressure

    公开(公告)号:US11886367B2

    公开(公告)日:2024-01-30

    申请号:US17545930

    申请日:2021-12-08

    摘要: An arbitration system receives requests to access a destination during an arbitration window that spans multiple processor clock cycles. During each clock cycle, the destination is monitored to determine whether the destination is suffering from backpressure by receiving more requests than the destination is able to accommodate during the clock cycle. In response to detecting backpressure, a masking index value assigned to a requesting source is incremented, which limits an amount of requests from the source that will be granted destination access during a subsequent arbitration window. Alternatively, in response to detecting an absence of backpressure during an arbitration window, the masking index value is decremented, which increases the amount of requests from the source that will be granted destination access during a subsequent arbitration window. This arbitration process continues for successive arbitration windows, oscillating between incrementing and decrementing the masking index value during the successive arbitration windows.

    Penalty based arbitration
    2.
    发明授权

    公开(公告)号:US11868292B1

    公开(公告)日:2024-01-09

    申请号:US17656710

    申请日:2022-03-28

    IPC分类号: G06F13/366 G06F9/50

    CPC分类号: G06F13/366 G06F9/5033

    摘要: A plurality of resource requesters may be configured to consume a resource to perform a task. Each of the plurality of resource requesters can be allocated a resource budget to consume the resource to perform the task. An arbiter can select one of the plurality of resource requesters to consume the resource based on an arbitration scheme. When a resource requester is selected, the amount of resource consumed by the resource requester can be deducted from its resource budget. When the resource requester is idle for a number of cycles when selected, the corresponding resource budget can be further reduced to account for the actual amount of resource consumed and wasted by the resource requester, which can provide fairness in resource consumption over few rounds of arbitration.

    SYSTEM AND METHOD FOR IMPLEMENTING A MULTI-THREADED DEVICE DRIVER IN A COMPUTER SYSTEM

    公开(公告)号:US20210004341A1

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

    申请号:US16932383

    申请日:2020-07-17

    申请人: Rambus Inc.

    摘要: A method of implementing a multi-threaded device driver for a computer system is disclosed. A polling device driver is partitioned into a plurality of driver threads for controlling a device of a computer system. The device has a first device state of an unscouted state and a scouted state, and a second device state of an inactive state and an active state. A driver thread of the plurality of driver threads determines that the first device state of the device state is in the unscouted state, and changes the first state of the device to the scouted state. The driver thread further determines that the second device state of the device is in the inactive state and changes the second device state of the device to the active state. The driver thread executes an operation on the device during a pre-determined time slot configured for the driver thread.

    System and method for implementing a multi-threaded device driver in a computer system

    公开(公告)号:US10719466B2

    公开(公告)日:2020-07-21

    申请号:US16032241

    申请日:2018-07-11

    申请人: Rambus Inc.

    摘要: A polling device driver is partitioned into a plurality of driver threads for controlling a device of a computer system. The device has a first device state of an unscouted state and a scouted state, and a second device state of an inactive state and an active state. A driver thread of the plurality of driver threads determines that the first device state of the device state is in the unscouted state, and changes the first state of the device to the scouted state. The driver thread further determines that the second device state of the device is in the inactive state and changes the second device state of the device to the active state. The driver thread executes an operation on the device during a pre-determined time slot configured for the driver thread.

    USING STORAGE CONTROLLERS TO RESPOND TO MULTIPATH INPUT/OUTPUT REQUESTS

    公开(公告)号:US20190377696A1

    公开(公告)日:2019-12-12

    申请号:US16006705

    申请日:2018-06-12

    IPC分类号: G06F13/366 G06F13/42

    摘要: A computer program product, according to one embodiment, includes a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. Moreover, the program instructions are readable and/or executable by a controller to cause the controller to perform a method which includes: receiving a same input/output request along more than one communication paths, and evaluating a workload associated with each of the communication paths. A communication path having a lowest workload associated therewith is selected. Moreover, information corresponding to the input/output request as well as a status are sent along the selected communication path. The status sent indicates that the selected communication path was chosen to satisfy the input/output request. A special status indicating that none of the remaining communication paths were chosen to satisfy the input/output request is also sent along each of the remaining communication paths.

    METHODS AND APPARATUS FOR A CONDUCTED ELECTRICAL WEAPON

    公开(公告)号:US20190154409A1

    公开(公告)日:2019-05-23

    申请号:US16257723

    申请日:2019-01-25

    摘要: A conducted electrical weapon (“CEW”) launches wire-tethered electrodes from multiple cartridges to provide a current through a human or animal target to impede locomotion of the target. The CEW includes a handle and one or more deployment units. A handle and each deployment unit include a processing circuit and memory. The processing circuit of a handle may communicate with the processing circuit of the one or more deployment units. The processing circuit in a deployment unit may confirm receipt of a message from the processing circuit in a handle. A handle may provide operation and usage data to a deployment unit for storage. A handle may receive data from a deployment unit.