EFFICIENT BUS TURNAROUND FOR MEMORY CONTROLLER

    公开(公告)号:US20250110664A1

    公开(公告)日:2025-04-03

    申请号:US18374153

    申请日:2023-09-28

    Inventor: Guanhao Shen

    Abstract: A memory controller includes a command queue for receiving memory access requests and an arbiter. The arbiter is operable to allow cross-mode activations during a streak of accesses of a current mode in response to a number of cross-mode accesses present in the command queue exceeding an adaptive threshold.

    Efficient and low latency memory access scheduling

    公开(公告)号:US11789655B2

    公开(公告)日:2023-10-17

    申请号:US17490684

    申请日:2021-09-30

    CPC classification number: G06F3/0659 G06F3/0611 G06F3/0619 G06F3/0673

    Abstract: A memory controller includes a command queue that receives and stores decoded memory commands and information related thereto including information indicating a type, a priority, an age, and a region of a memory system for a corresponding decoded memory command, and an arbiter coupled to the command queue and picks selected decoded memory commands among the decoded memory commands from the command queue for dispatch to the memory system by comparing the priority and the age for decoded memory commands having a first type. The arbiter detects when the command queue receives a decoded memory command of a second type opposite to said first type that accesses a first memory region of the memory system, and in response performs at least one pre-work action that reduces a latency of the decoded memory command of the second type.

    Efficient rank switching in multi-rank memory controller

    公开(公告)号:US11755246B2

    公开(公告)日:2023-09-12

    申请号:US17357007

    申请日:2021-06-24

    CPC classification number: G06F3/0659 G06F3/0604 G06F3/0679

    Abstract: A data processor includes a staging buffer, a command queue, a picker, and an arbiter. The staging buffer receives and stores first memory access requests. The command queue stores second memory access requests, each indicating one of a plurality of ranks of a memory system. The picker picks among the first memory access requests in the staging buffer and provides selected ones of the first memory access requests to the command queue. The arbiter selects among the second memory access requests from the command queue based on at least a preference for accesses to a current rank of the memory system. The picker picks accesses to the current rank among the first memory access requests of the staging buffer and provides the selected ones of the first memory access requests to the command queue.

    Adaptive page close prediction
    25.
    发明授权

    公开(公告)号:US11526278B2

    公开(公告)日:2022-12-13

    申请号:US15851414

    申请日:2017-12-21

    Abstract: Systems, apparatuses, and methods for performing efficient memory accesses for a computing system are disclosed. In various embodiments, a computing system includes one or more computing resources and a memory controller coupled to a memory device. The memory controller determines a memory access request targets a given bank of multiple banks. An access history is updated for the given bank based on whether the memory access request hits on an open page within the given bank and a page hit rate for the given bank is determined. The memory controller sets an idle cycle limit based on the page hit rate. The idle cycle limit is a maximum amount of time the given bank will be held open before closing the given bank while the bank is idle. The idle cycle limit is based at least in part on a page hit rate for the bank.

    DRAM COMMAND STREAK EFFICIENCY MANAGEMENT

    公开(公告)号:US20220317928A1

    公开(公告)日:2022-10-06

    申请号:US17219535

    申请日:2021-03-31

    Abstract: A memory controller includes a command queue and an arbiter for selecting entries from the command queue for transmission to a DRAM. The arbiter transacts streaks of consecutive read commands and streaks of consecutive write commands. The arbiter transacts a streak for at least a minimum burst length based on a number of commands of a designated type available to be selected by the arbiter. Following the minimum burst length, the arbiter decides to start a new streak of commands of a different type based on a first set of one or more conditions indicating intra-burst efficiency.

    Refresh management for DRAM
    27.
    发明授权

    公开(公告)号:US11222685B2

    公开(公告)日:2022-01-11

    申请号:US16875281

    申请日:2020-05-15

    Abstract: A memory controller interfaces with a dynamic random access memory (DRAM) over a memory channel. A refresh control circuit monitors an activate counter which counts a rolling number of activate commands sent over the memory channel to a memory region of the DRAM. In response to the activate counter being above an intermediate management threshold value, the refresh control circuit only issue a refresh management (RFM) command if there is no REF command currently held at the refresh command circuit for the memory region.

    EFFICIENT MEMORY BUS MANAGEMENT
    28.
    发明申请

    公开(公告)号:US20210357336A1

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

    申请号:US15931825

    申请日:2020-05-14

    Abstract: A memory controller an arbiter which causes streaks of read commands and streaks of write commands over the memory channel. During a streak, the arbiter monitors an indicator of data bus efficiency of the memory channel. Responsive to the indicator showing that data bus efficiency is less than a designated threshold, the arbiter stops the current streak and start a streak of the other type.

    DYNAMICALLY DETERMINING MEMORY ACCESS BURST LENGTH

    公开(公告)号:US20190196996A1

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

    申请号:US15851087

    申请日:2017-12-21

    Abstract: Systems, apparatuses, and methods for performing efficient memory accesses for a computing system are disclosed. When a memory controller in a computing system determines a threshold number of memory read requests have been sent to a memory device in a read mode of a data bus, the memory controller determines a threshold number of memory write requests to send to the memory device in an upcoming write mode is a number of outstanding memory write requests. Alternatively, the memory controller determines the threshold number of memory write requests to send to the memory device in an upcoming write mode is a maximum value of the number of outstanding memory write requests and a programmable value of the write burst length stored in a control register. Therefore, the write burst length is determined dynamically. Similarly, the read burst length is determined dynamically when the write mode ends.

    DYNAMIC PER-BANK AND ALL-BANK REFRESH
    30.
    发明申请

    公开(公告)号:US20190196987A1

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

    申请号:US15851324

    申请日:2017-12-21

    CPC classification number: G06F13/1636 G06F13/1642 G06F13/4234 G11C11/40603

    Abstract: Systems, apparatuses, and methods for performing efficient memory accesses in a computing system are disclosed. In various embodiments, a computing system includes computing resources and a memory controller coupled to a memory device. The memory controller determines a memory request targets a given rank of multiple ranks. The memory controller determines a predicted latency for the given rank as an amount of time the pending queue in the memory controller for storing outstanding memory requests does not store any memory requests targeting the given rank. The memory controller determines the total bank latency as an amount of time for refreshing a number of banks which have not yet been refreshed in the given rank with per-bank refresh operations. If there are no pending requests targeting the given rank, each of the predicted latency and the total bank latency is used to select between per-bank and all-bank refresh operations.

Patent Agency Ranking