-
公开(公告)号:US20210200618A1
公开(公告)日:2021-07-01
申请号:US16730113
申请日:2019-12-30
Applicant: Advanced Micro Devices, Inc.
Inventor: James R. Magro , Kedarnath Balakrishnan , Vilas Sridharan
Abstract: A memory controller includes a command queue, a memory interface queue, and a non-volatile error reporting circuit. The command queue receives memory access commands including volatile reads, volatile writes, non-volatile reads, and non-volatile writes, and an output. The memory interface queue has an input coupled to the output of the command queue, and an output for coupling to a non-volatile storage class memory (SCM) module. The non-volatile error reporting circuit identifies error conditions associated with the non-volatile SCM module and maps the error conditions from a first number of possible error conditions associated with the non-volatile SCM module to a second, smaller number of virtual error types for reporting to an error monitoring module of a host operating system, the mapping based at least on a classification that the error condition will or will not have a deleterious effect on an executable process running on the host operating system.
-
公开(公告)号:US10403333B2
公开(公告)日:2019-09-03
申请号:US15211887
申请日:2016-07-15
Applicant: Advanced Micro Devices, Inc.
Inventor: Kevin M. Brandl , Thomas Hamilton , Hideki Kanayama , Kedarnath Balakrishnan , James R. Magro , Guanhao Shen , Mark Fowler
IPC: G11C7/10 , G06F12/1018 , G11C11/408
Abstract: A memory controller includes a host interface for receiving memory access requests including access addresses, a memory interface for providing memory accesses to a memory system, and an address decoder coupled to the host interface for programmably mapping the access addresses to selected ones of a plurality of regions. The address decoder is programmable to map the access addresses to a first region having a non-power-of-two size using a primary decoder and a secondary decoder each having power-of-two sizes, and providing a first region mapping signal in response. A command queue stores the memory access requests and region mapping signals. An arbiter picks the memory access requests from the command queue based on a plurality of criteria, which are evaluated based in part on the region mapping signals, and provides corresponding memory accesses to the memory interface in response.
-
公开(公告)号:US12154657B2
公开(公告)日:2024-11-26
申请号:US17853418
申请日:2022-06-29
Applicant: Advanced Micro Devices, Inc.
Inventor: Kedarnath Balakrishnan , James R. Magro
Abstract: An arbiter is operable to pick commands from a command queue for dispatch to a memory. The arbiter includes a traffic throttle circuit for mitigating excess power usage increases in coordination with one or more additional arbiters. The traffic throttle circuit includes a monitoring circuit and a throttle circuit. The monitoring circuit is for measuring a number of read and write commands picked by the arbiter and the one or more additional arbiters over a first predetermined period of time. The throttle circuit, responsive to a low activity state, limits a number of read and write commands issued by the arbiter during a second predetermined period of time.
-
公开(公告)号:US11675659B2
公开(公告)日:2023-06-13
申请号:US15375076
申请日:2016-12-09
Applicant: Advanced Micro Devices, Inc. , ATI Technologies ULC
Inventor: James R. Magro , Ruihua Peng , Anthony Asaro , Kedarnath Balakrishnan , Scott P. Murphy , YuBin Yao
CPC classification number: G06F11/1016 , G06F11/10 , G06F13/1626 , G06F13/4022
Abstract: In one form, a memory controller includes a command queue, an arbiter, and a replay queue. The command queue receives and stores memory access requests. The arbiter is coupled to the command queue for providing a sequence of memory commands to a memory channel. The replay queue stores the sequence of memory commands to the memory channel, and continues to store memory access commands that have not yet received responses from the memory channel. When a response indicates a completion of a corresponding memory command without any error, the replay queue removes the corresponding memory command without taking further action. When a response indicates a completion of the corresponding memory command with an error, the replay queue replays at least the corresponding memory command. In another form, a data processing system includes the memory controller, a memory accessing agent, and a memory system to which the memory controller is coupled.
-
公开(公告)号:US11561862B2
公开(公告)日:2023-01-24
申请号:US16887904
申请日:2020-05-29
Applicant: Advanced Micro Devices, Inc.
Inventor: Jing Wang , James R. Magro , Kedarnath Balakrishnan
IPC: G06F11/00 , G06F11/14 , G11C11/406
Abstract: A memory controller interfaces with a dynamic random access memory (DRAM). The memory controller selectively places memory commands in a memory interface queue, and transmits the commands from the memory interface queue to a memory channel connected to at least one dynamic random access memory (DRAM). The transmitted commands are stored in a replay queue. A number of activate commands to a memory region of the DRAM is counted. Based on this count, a refresh control circuit signals that an urgent refresh command should be sent to the memory region. In response to detecting a designated type of error, a recovery sequence initiates to re-transmit memory commands from the replay queue. Designated error conditions can cause the recovery sequence to restart. If an urgent refresh command is pending when such a restart occurs, the recovery sequence is interrupted to allow the urgent refresh command to be sent.
-
公开(公告)号:US11531601B2
公开(公告)日:2022-12-20
申请号:US16729994
申请日:2019-12-30
Applicant: Advanced Micro Devices, Inc.
Inventor: Jing Wang , James R. Magro , Kedarnath Balakrishnan
Abstract: A memory controller includes a command queue, a memory interface queue, at least one storage queue, and a replay control circuit. The command queue has a first input for receiving memory access commands. The memory interface queue receives commands selected from the command queue and couples to a heterogeneous memory channel which is coupled to at least one non-volatile storage class memory (SCM) module. The at least one storage queue stores memory access commands that are placed in the memory interface queue. The replay control circuit detects that an error has occurred requiring a recovery sequence, and in response to the error, initiates the recovery sequence. In the recovery sequence, the replay control circuit transmits selected memory access commands from the at least one storage queue by grouping non-volatile read commands together separately from all pending volatile reads, volatile writes, and non-volatile writes.
-
公开(公告)号:US20210374006A1
公开(公告)日:2021-12-02
申请号:US16887904
申请日:2020-05-29
Applicant: Advanced Micro Devices, Inc.
Inventor: Jing Wang , James R. Magro , Kedarnath Balakrishnan
IPC: G06F11/14 , G11C11/406
Abstract: A memory controller interfaces with a dynamic random access memory (DRAM). The memory controller selectively places memory commands in a memory interface queue, and transmits the commands from the memory interface queue to a memory channel connected to at least one dynamic random access memory (DRAM). The transmitted commands are stored in a replay queue. A number of activate commands to a memory region of the DRAM is counted. Based on this count, a refresh control circuit signals that an urgent refresh command should be sent to the memory region. In response to detecting a designated type of error, a recovery sequence initiates to re-transmit memory commands from the replay queue. Designated error conditions can cause the recovery sequence to restart. If an urgent refresh command is pending when such a restart occurs, the recovery sequence is interrupted to allow the urgent refresh command to be sent.
-
公开(公告)号:US11099786B2
公开(公告)日:2021-08-24
申请号:US16730070
申请日:2019-12-30
Applicant: Advanced Micro Devices, Inc.
Inventor: James R. Magro , Kedarnath Balakrishnan
IPC: G06F3/06
Abstract: A memory controller interfaces with a non-volatile storage class memory (SCM) module over a heterogeneous memory channel, and includes a command queue for receiving memory access commands. A memory interface queue is coupled to the command queue for holding outgoing commands. A non-volatile command queue is coupled to the command queue for storing non-volatile read commands that are placed in the memory interface queue. An arbiter selects entries from the command queue, and places them in the memory interface queue for transmission over a heterogeneous memory channel. A control circuit is coupled to the heterogeneous memory channel for receiving a ready response from the non-volatile SCM module indicating that responsive data is available for a non-volatile read command, and in response to receiving the ready response, causing a send command to be placed in the memory interface queue for commanding the non-volatile SCM module to send the responsive data.
-
公开(公告)号:US20210200649A1
公开(公告)日:2021-07-01
申请号:US16729994
申请日:2019-12-30
Applicant: Advanced Micro Devices, Inc.
Inventor: Jing Wang , James R. Magro , Kedarnath Balakrishnan
Abstract: A memory controller includes a command queue, a memory interface queue, at least one storage queue, and a replay control circuit. The command queue has a first input for receiving memory access commands. The memory interface queue receives commands selected from the command queue and couples to a heterogeneous memory channel which is coupled to at least one non-volatile storage class memory (SCM) module. The at least one storage queue stores memory access commands that are placed in the memory interface queue. The replay control circuit detects that an error has occurred requiring a recovery sequence, and in response to the error, initiates the recovery sequence. In the recovery sequence, the replay control circuit transmits selected memory access commands from the at least one storage queue by grouping non-volatile read commands together separately from all pending volatile reads, volatile writes, and non-volatile writes.
-
公开(公告)号:US20210200467A1
公开(公告)日:2021-07-01
申请号:US16730070
申请日:2019-12-30
Applicant: Advanced Micro Devices, Inc.
Inventor: James R. Magro , Kedarnath Balakrishnan
IPC: G06F3/06
Abstract: A memory controller interfaces with a non-volatile storage class memory (SCM) module over a heterogenous memory channel, and includes a command queue for receiving memory access commands. A memory interface queue is coupled to the command queue for holding outgoing commands. A non-volatile command queue is coupled to the command queue for storing non-volatile read commands that are placed in the memory interface queue. An arbiter selects entries from the command queue, and places them in the memory interface queue for transmission over a heterogenous memory channel. A control circuit is coupled to the heterogenous memory channel for receiving a ready response from the non-volatile SCM module indicating that responsive data is available for a non-volatile read command, and in response to receiving the ready response, causing a send command to be placed in the memory interface queue for commanding the non-volatile SCM module to send the responsive data.
-
-
-
-
-
-
-
-
-