[go: up one dir, main page]

CN116010309B - Memory controller, system and system on chip, timing parameter control method - Google Patents

Memory controller, system and system on chip, timing parameter control method Download PDF

Info

Publication number
CN116010309B
CN116010309B CN202310132750.3A CN202310132750A CN116010309B CN 116010309 B CN116010309 B CN 116010309B CN 202310132750 A CN202310132750 A CN 202310132750A CN 116010309 B CN116010309 B CN 116010309B
Authority
CN
China
Prior art keywords
phase
command
memory controller
memory
timing parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310132750.3A
Other languages
Chinese (zh)
Other versions
CN116010309A (en
Inventor
杜倩倩
吴峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiangdixian Computing Technology Co Ltd
Original Assignee
Beijing Xiangdixian Computing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiangdixian Computing Technology Co Ltd filed Critical Beijing Xiangdixian Computing Technology Co Ltd
Priority to CN202310132750.3A priority Critical patent/CN116010309B/en
Publication of CN116010309A publication Critical patent/CN116010309A/en
Application granted granted Critical
Publication of CN116010309B publication Critical patent/CN116010309B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Dram (AREA)

Abstract

The present disclosure provides a memory controller, a system on chip, and a timing parameter control method, the memory controller including a command arbiter and a timing parameter control module; a command arbiter configured to assert a command valid signal corresponding to a target phase according to the target phase used by the command; the time sequence parameter control module is configured to initialize an actual initial count value of a counter corresponding to each time sequence parameter according to a target phase indicated by the valid command valid signal and a default initial count value of the time sequence parameter and start the counter to count down according to a first preset value; and when the second preset value is counted, setting the time sequence parameter meeting signal of the phase corresponding to the second preset value to be effective. By the scheme, the problem that the memory controller loses clock cycles to send out commands can be avoided, and the control efficiency of the memory controller can be improved.

Description

存储器控制器、系统及片上系统、时序参数控制方法Memory controller, system and system on chip, timing parameter control method

技术领域technical field

本公开涉及存储器技术领域,尤其涉及一种存储器控制器、系统及片上系统、时序参数控制方法。The present disclosure relates to the technical field of memory, and in particular to a memory controller, a system, a system on chip, and a timing parameter control method.

背景技术Background technique

常规的内存(内存储器)可包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM),且内存一般使用的都是DRAM。对于内存来说,其内部包括多个存储器阵列,每个存储器阵列包括行和列。当需要对某一个地址进行读写时,首先要对地址所在行发送行激活(Active)命令,然后才能发送读(Read)/写(Write)命令。如果需要切换到另一个行地址进行读/写,需要把当前激活的行关闭,即发送Precharge命令后再激活新的行,然后再进行读/写。Conventional memory (internal memory) may include static random access memory (SRAM), dynamic random access memory (DRAM), and memory generally uses DRAM. For memory, it includes multiple memory arrays, and each memory array includes rows and columns. When it is necessary to read and write to a certain address, the line activation (Active) command must be sent to the line where the address is located first, and then the read (Read)/write (Write) command can be sent. If you need to switch to another row address for reading/writing, you need to close the currently activated row, that is, send a Precharge command and then activate a new row, and then read/write.

在目前的芯片产品中,存储器的频率CK一般都大于存储器控制器的频率MC_CLK,例如两者之比为1:2或1:4。当MC_CLK:CK=1:N时,存储器控制器到端口物理层芯片(Physical,PHY)之间的接口DFI(The DDRPHY Interface)有N(N大于1)个相位,分别为phase0,phase1…phaseN-1。存储器控制器可从不同的相位向内存发出命令。对于存储器控制器来说,其向内存所发送的命令需要满足存储器说明书定义的时序参数,例如同一个存储器阵列的Active命令到Read/Write命令的延时时间不小于行寻址到列寻址延迟时间tRCD,从Active命令到Precharge命令的延时时间不小于内存行有效至预充电的最短周期tRAS等。因此,存储器控制器对时序参数的控制直接影响着内存的性能。In current chip products, the frequency CK of the memory is generally greater than the frequency MC_CLK of the memory controller, for example, the ratio between the two is 1:2 or 1:4. When MC_CLK:CK=1:N, the interface DFI (The DDRPHY Interface) between the memory controller and the port physical layer chip (Physical, PHY) has N (N is greater than 1) phases, which are phase0, phase1...phaseN-1. The memory controller can issue commands to the memory from different phases. For the memory controller, the commands it sends to the memory need to meet the timing parameters defined in the memory specification. For example, the delay time from the Active command to the Read/Write command of the same memory array is not less than the row addressing to column addressing delay time tRCD, and the delay time from the Active command to the Precharge command is not less than the shortest period tRAS from the valid to precharged memory row, etc. Therefore, the control of timing parameters by the memory controller directly affects the performance of the memory.

然而,目前的存储器控制器在对各种命令对应的时序参数进行控制时,就同一个命令而言,只是单纯地从该命令所发出的相位来设置与该命令对应的时序参数的实际初始计数值,未对时序参数的默认初始计数值的奇偶性进行区分,如此,可能会导致在特殊情况下,时序参数在已满足延时要求的基础上,还要再额外延迟一定的存储器时钟周期cycle才能被存储器控制器识别到,进而导致存储器控制器损失一定的cycle才能发出相应的命令,影响了存储器控制器的控制效率,进而影响了内存的性能。However, when the current memory controller controls the timing parameters corresponding to various commands, as far as the same command is concerned, it simply sets the actual initial count value of the timing parameter corresponding to the command based on the phase sent by the command, and does not distinguish the parity of the default initial count value of the timing parameter. This may lead to the fact that in special cases, the timing parameter needs to be delayed for a certain memory clock cycle cycle before it can be recognized by the memory controller on the basis of meeting the delay requirement, which in turn causes the memory controller to lose a certain cycle before it can issue a corresponding response. The command affects the control efficiency of the memory controller, thereby affecting the performance of the memory.

发明内容Contents of the invention

本公开的目的是提供一种存储器控制器、系统及片上系统、时序参数控制方法,可避免存储器控制器损失一定cycle才能发出命令的问题,提高存储器控制器的控制效率。The purpose of the present disclosure is to provide a memory controller, a system, a system on chip, and a timing parameter control method, which can avoid the problem that the memory controller loses a certain cycle before issuing commands, and improve the control efficiency of the memory controller.

根据本公开的一个方面,提供一种存储器控制器,包括命令仲裁器及时序参数控制模块;According to one aspect of the present disclosure, a memory controller is provided, including a command arbiter and a timing parameter control module;

所述命令仲裁器,被配置为:根据当前发出的命令所使用的目标相位,将与所述目标相位对应的命令有效信号置为有效;The command arbiter is configured to: according to the target phase used by the currently issued command, set the command valid signal corresponding to the target phase to be valid;

所述时序参数控制模块,被配置为:针对预设的对应于所述命令的每种时序参数,根据有效的所述命令有效信号指示的所述目标相位及该时序参数的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值,并启动所述计数器在每个存储器控制器的时钟周期按照第一预设值递减计数;在所述计数器计数到第二预设值时,将与所述第二预设值对应的相位的时序参数满足信号置为有效,表征所述命令仲裁器可在该相位发送与所述时序参数满足信号对应的时序参数指示的后续命令;所述第一预设值是存储器频率与存储器控制器频率的比值,在所述比值下形成的每种相位存在对应的第二预设值。The timing parameter control module is configured to: for each preset timing parameter corresponding to the command, according to the target phase indicated by the effective command valid signal and the default initial count value of the timing parameter, initialize the actual initial count value of the counter corresponding to the timing parameter, and start the counter to count down according to the first preset value in each clock cycle of the memory controller; The timing parameter satisfies the subsequent command indicated by the timing parameter corresponding to the signal; the first preset value is a ratio of the memory frequency to the memory controller frequency, and each phase formed under the ratio has a corresponding second preset value.

本公开一种可行的实现方式中,所述时序参数控制模块,具体被配置为:针对对应于所述命令的每种时序参数,将与该时序参数对应的计数器的实际初始计数值初始化为:该时序参数的默认初始计数值与第二预设值之和;所述第二预设值是所述目标相位的相位号。In a feasible implementation manner of the present disclosure, the timing parameter control module is specifically configured to: for each timing parameter corresponding to the command, initialize the actual initial count value of the counter corresponding to the timing parameter to: the sum of the default initial count value of the timing parameter and a second preset value; the second preset value is the phase number of the target phase.

本公开一种可行的实现方式中,在所述存储器控制器频率与所述存储器频率之比为1:2的情况下,存在第零相位及第一相位,且与所述第零相位对应的相位号为0,与所述第一相位对应的相位号为1;在所述存储器控制器频率与所述存储器频率之比为1:4的情况下,存在第零相位、第一相位、第二相位及第三相位,且与所述第零相位对应的相位号为0,与所述第一相位对应的相位号为1,与所述第二相位对应的相位号为2,与所述第三相位对应的相位号为3。In a feasible implementation of the present disclosure, when the ratio of the memory controller frequency to the memory frequency is 1:2, there are a zeroth phase and a first phase, and the phase number corresponding to the zeroth phase is 0, and the phase number corresponding to the first phase is 1; when the ratio of the memory controller frequency to the memory frequency is 1:4, there are a zeroth phase, a first phase, a second phase, and a third phase, and the phase number corresponding to the zeroth phase is 0, and the phase number corresponding to the first phase is 1, which corresponds to the second phase The phase number of is 2, and the phase number corresponding to the third phase is 3.

本公开一种可行的实现方式中,所述相位的个数与所述比值的数值相同。In a feasible implementation manner of the present disclosure, the number of the phases is the same as the value of the ratio.

本公开一种可行的实现方式中,所述计数器的计数值为非负数,且在当前的计数值小于所述比值的情况下,其在下一个存储器控制器时钟周期的计数值被配置为0。In a feasible implementation manner of the present disclosure, the count value of the counter is a non-negative number, and if the current count value is smaller than the ratio, its count value in a next memory controller clock cycle is configured to be 0.

本公开一种可行的实现方式中,所述时序参数为行寻址到列寻址延迟时间tRCD、内存行有效至预充电的最短周期tRAS、行到行的延时tRRD或写恢复延时tWR。In a feasible implementation of the present disclosure, the timing parameter is a delay time from row addressing to column addressing tRCD, a shortest period from memory row valid to precharging tRAS, a row-to-row delay tRRD or a write recovery delay tWR.

根据本公开的另一方面,还提供一种时序参数控制方法,应用于包括命令仲裁器及时序参数控制模块的存储器控制器,所述方法包括:According to another aspect of the present disclosure, there is also provided a timing parameter control method applied to a memory controller including a command arbiter and a timing parameter control module, the method comprising:

所述命令仲裁器根据当前发出的命令所使用的目标相位,将与所述目标相位对应的命令有效信号置为有效;The command arbiter sets the command valid signal corresponding to the target phase as valid according to the target phase used by the currently issued command;

所述时序参数控制模块针对预设的对应于所述命令的每种时序参数,根据有效的所述命令有效信号指示的所述目标相位及该时序参数的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值,并启动所述计数器在每个存储器控制器的时钟周期按照第一预设值递减计数;在所述计数器计数到第二预设值时,将与所述第二预设值对应的相位的时序参数满足信号置为有效,表征所述命令仲裁器可在该相位发送与所述时序参数满足信号对应的时序参数指示的后续命令;For each preset timing parameter corresponding to the command, the timing parameter control module initializes the actual initial count value of the counter corresponding to the timing parameter according to the target phase indicated by the effective command valid signal and the default initial count value of the timing parameter, and starts the counter to count down according to the first preset value in each clock cycle of the memory controller; The subsequent command indicated by the timing parameter corresponding to the signal;

所述第一预设值是存储器频率与存储器控制器频率的比值,在所述比值下形成的每种相位存在对应的第二预设值。The first preset value is a ratio of the memory frequency to the memory controller frequency, and each phase formed under the ratio has a corresponding second preset value.

本公开一种可行的实现方式中,所述针对预设的对应于所述命令的每种时序参数,根据有效的所述命令有效信号指示的所述目标相位及该时序参数的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值,包括:In a feasible implementation of the present disclosure, for each preset timing parameter corresponding to the command, according to the target phase indicated by the valid command valid signal and the default initial count value of the timing parameter, initializing the actual initial count value of the counter corresponding to the timing parameter includes:

针对对应于所述命令的每种时序参数,将与该时序参数对应的计数器的实际初始计数值初始化为:该时序参数的默认初始计数值与第二预设值之和;所述第二预设值是所述目标相位的相位号。For each timing parameter corresponding to the command, the actual initial count value of the counter corresponding to the timing parameter is initialized as: the sum of the default initial count value of the timing parameter and a second preset value; the second preset value is the phase number of the target phase.

根据本公开的另一方面,还提供一种存储器控制系统,包括上述任一实施例中的存储器控制器、存储器装置以及连接于所述存储器控制器及所述存储器装置之间的端口物理层芯片(Physical,PHY)。According to another aspect of the present disclosure, there is also provided a memory control system, including the memory controller in any one of the above embodiments, a memory device, and a port physical layer chip (Physical, PHY) connected between the memory controller and the memory device.

在一种可行的实现方式中,存储器装置可以是动态随机存取存储器,上述动态随机存取存储器可以是图形双倍速率同步动态随机存储器(Graphics Double DataRateSynchronous Dynamic Random Access Memory,GDDR SDRAM)。In a feasible implementation manner, the memory device may be a dynamic random access memory, and the dynamic random access memory may be a graphics double data rate synchronous dynamic random access memory (Graphics Double DataRate Synchronous Dynamic Random Access Memory, GDDR SDRAM).

根据本公开的另一方面,还提供一种片上系统(System on Chip,SOC),该片上系统包括上述存储器控制系统。在一些使用场景下,该SOC的产品形式体现为GPU(GraphicsProcessing Unit,图形处理器) SOC;在另一些使用场景下,该SOC的产品形式体现为CPU(CentralProcessing Unit,中央处理器) SOC。According to another aspect of the present disclosure, there is also provided a system on chip (System on Chip, SOC), where the system on chip includes the above memory control system. In some usage scenarios, the product form of the SOC is embodied as a GPU (Graphics Processing Unit, graphics processing unit) SOC; in other usage scenarios, the product form of the SOC is embodied as a CPU (Central Processing Unit, central processing unit) SOC.

根据本公开的另一方面,还提供一种电子组件,该电子组件包括上述任一实施例中所述的片上系统SOC。在一些使用场景下,该电子组件的产品形式体现为显卡;在另一些使用场景下,该电子组件的产品形式体现为CPU主板。According to another aspect of the present disclosure, an electronic component is also provided, the electronic component includes the system-on-chip SOC described in any one of the above embodiments. In some usage scenarios, the product form of the electronic component is a graphics card; in other usage scenarios, the product form of the electronic component is a CPU motherboard.

根据本公开的另一方面,还提供一种电子设备,包括上述的电子组件。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等。According to another aspect of the present disclosure, there is also provided an electronic device, including the above-mentioned electronic component. In some usage scenarios, the product form of the electronic device is a portable electronic device, such as a smartphone, tablet computer, VR device, etc.; in some usage scenarios, the product form of the electronic device is a personal computer, a game console, etc.

附图说明Description of drawings

图1是现有技术提供的时序参数控制时序图之一;FIG. 1 is one of timing diagrams of timing parameter control provided by the prior art;

图2是现有技术提供的时序参数控制时序图之二;Fig. 2 is the second sequence diagram of timing parameter control provided by the prior art;

图3为本公开一个实施例的存储器控制器的结构示意图;FIG. 3 is a schematic structural diagram of a memory controller according to an embodiment of the present disclosure;

图4为本公开一个实施例的时序参数控制时序图之一;FIG. 4 is one of timing diagrams of timing parameter control in an embodiment of the present disclosure;

图5为本公开一个实施例的时序参数控制时序图之二;FIG. 5 is the second sequence diagram of timing parameter control in an embodiment of the present disclosure;

图6为本公开一个实施例的时序参数控制时序图之三;FIG. 6 is a third timing diagram of timing parameter control in an embodiment of the present disclosure;

图7为本公开一个实施例的时序参数控制时序图之四;FIG. 7 is a fourth timing diagram of timing parameter control according to an embodiment of the present disclosure;

图8为本公开一个实施例的时序参数控制方法的流程示意图。FIG. 8 is a schematic flowchart of a timing parameter control method according to an embodiment of the present disclosure.

具体实施方式Detailed ways

在介绍本公开实施例之前,应当说明的是:Before introducing the embodiments of the present disclosure, it should be noted that:

本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。Some embodiments of the present disclosure are described as a processing flow. Although each operation step of the flow may be labeled with a sequential step number, the operation steps therein may be implemented in parallel, concurrently or simultaneously.

本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。The embodiments of the present disclosure may use the terms "first", "second" and so on to describe various features, but these features should not be limited by these terms. These terms are used only to distinguish one feature from another.

本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任一和所有组合。The term "and/or" may be used in embodiments of the present disclosure, and "and/or" includes any and all combinations of one or more listed associated features.

应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。It should be understood that when describing the connection relationship or communication relationship between two components, unless the two components are directly connected or communicated directly, otherwise, the connection or communication of the two components can be understood as a direct connection or communication, or as an indirect connection or communication through an intermediate component.

为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。In order to make the technical solutions and advantages of the embodiments of the present disclosure clearer, the exemplary embodiments of the present disclosure will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than an exhaustive list of all embodiments. It should be noted that, in the case of no conflict, the embodiments in the present disclosure and the features in the embodiments can be combined with each other.

先对本公开实施例中所涉及的概念进行定义:First define the concepts involved in the embodiments of the present disclosure:

假设当MC_CLK:CK=1:2时,存在第零相位及第一相位,且与第零相位对应的相位号为0,表示为phase0,与第一相位对应的相位号为1,表示为phase1。假设当MC_CLK:CK=1:4时,存在第零相位、第一相位、第二相位及第三相位;且与第零相位对应的相位号为0,表示为phase0,与第一相位对应的相位号为1,表示为phase1,与第二相位对应的相位号为2,表示为phase2,与第三相位对应的相位号为3,表示为phase3。Assume that when MC_CLK:CK=1:2, there are zeroth phase and first phase, and the phase number corresponding to the zeroth phase is 0, denoted as phase0, and the phase number corresponding to the first phase is 1, denoted as phase1. Assume that when MC_CLK:CK=1:4, there are the zeroth phase, the first phase, the second phase and the third phase; and the phase number corresponding to the zeroth phase is 0, expressed as phase0, the phase number corresponding to the first phase is 1, expressed as phase1, the phase number corresponding to the second phase is 2, expressed as phase2, and the phase number corresponding to the third phase is 3, expressed as phase3.

cmd_vld_p0、cmd_vld_p1……cmd_vld_pn分别是存储器控制器内的命令仲裁器发出的命令有效信号,1表示命令有效。cmd_vld_p0有效表示phase0命令有效,对应DFI接口的phase0;cmd_vld_p1有效表示phase1命令有效,对应DFI接口的phase1;cmd_vld_pn有效表示phasen命令有效,对应DFI接口的phase n。cmd_vld_p0, cmd_vld_p1 . . . cmd_vld_pn are command valid signals sent by the command arbiter in the memory controller respectively, and 1 indicates that the command is valid. Valid cmd_vld_p0 indicates that the phase0 command is valid, corresponding to phase0 of the DFI interface; valid cmd_vld_p1 indicates that the phase1 command is valid, corresponding to phase1 of the DFI interface; valid cmd_vld_pn indicates that the phasen command is valid, corresponding to phase n of the DFI interface.

dfi_address_p0、dfi_address_p1……dfi_address_p n分别表示DFI接口的phase0命令接口、DFI接口的phase1命令接口、DFI接口的phase n命令接口,当然,在实际应用场景中,该命令接口可能还包括其他信号,此处省略。dfi_address_p0, dfi_address_p1... dfi_address_p n represent the phase0 command interface of the DFI interface, the phase1 command interface of the DFI interface, and the phase n command interface of the DFI interface. Of course, in actual application scenarios, the command interface may also include other signals, which are omitted here.

trcd_cnt表示与tRCD时序参数对应的计数器。trcd_cnt represents a counter corresponding to the tRCD timing parameter.

timing_ok表示时序参数满足,1为信号有效。根据不同的时序参数,可以细分为对应的信号,例如针对tRCD时序参数,与之对应的timing_ok为trcd_ok,表示tRCD时序参数满足。trcd_ok具体包括trcd_ok_p0/p1/p n,trcd_ok_p0表示phase0时序满足,trcd_ok_p1表示phase1时序满足,trcd_ok_pn表示phase n时序满足。timing_ok indicates that the timing parameters are satisfied, and 1 indicates that the signal is valid. According to different timing parameters, it can be subdivided into corresponding signals. For example, for tRCD timing parameters, the corresponding timing_ok is trcd_ok, indicating that the tRCD timing parameters are satisfied. trcd_ok specifically includes trcd_ok_p0/p1/p n, trcd_ok_p0 indicates that the timing of phase0 is satisfied, trcd_ok_p1 indicates that the timing of phase1 is satisfied, and trcd_ok_pn indicates that the timing of phase n is satisfied.

param_trcd表示与tRCD时序参数对应的默认初始计数值,由存储器说明书中定义。param_trcd represents the default initial count value corresponding to the tRCD timing parameter, which is defined in the memory specification.

现有的存储器控制器在对与各种命令对应的时序参数进行控制时,就同一个命令而言,只是单纯地从该命令所发出的相位来设置与该命令对应的时序参数的实际初始计数值,未对时序参数的默认初始计数值的奇偶性进行区分,如此,可能会导致在特殊情况下,即使时序参数已满足存储器说明书定义的延时要求,但还要再额外延迟一定的存储器时钟周期cycle才能被存储器控制器识别到,进而导致存储器控制器需要多等待至少1个cycle(即损失至少1个cycle)才能确定自身已具备发出相应命令的条件,影响了存储器控制器的控制效率,进而影响了内存的性能。When the existing memory controller controls the timing parameters corresponding to various commands, as far as the same command is concerned, it simply sets the actual initial count value of the timing parameter corresponding to the command based on the phase sent by the command, and does not distinguish the parity of the default initial count value of the timing parameter. This may lead to special cases. cle (that is, loss of at least 1 cycle) to determine that it has the conditions to issue the corresponding command, which affects the control efficiency of the memory controller, thereby affecting the performance of the memory.

下面将针对现有技术中所面临的上述特殊情况进行举例说明。In the following, an example will be given for the above-mentioned special situation faced in the prior art.

在MC_CLK:CK=1:2时,针对某一具体的时序参数,计数器从与该时序参数对应的实际初始计数值开始计数;计数过程中,每个MC_CLK,计数器的计数值减1,以此类推,直至计数器的计数值减至0,时序满足,表示存储器控制器在此之后才可发送与该时序参数对应的后续命令。When MC_CLK:CK=1:2, for a specific timing parameter, the counter starts counting from the actual initial count value corresponding to the timing parameter; during the counting process, the count value of the counter is decremented by 1 for each MC_CLK, and so on, until the count value of the counter is reduced to 0, and the timing is satisfied, indicating that the memory controller can only send subsequent commands corresponding to the timing parameter after that.

其中,若命令是在phase0发出时,实际初始计数值=存储器说明书定义中为该时序参数设定的默认初始计数值除以2后向上取整(当前数值有小数,则丢弃小数后将当整数值+1);若命令是在phase1发出,实际初始计数值=该时序参数设定的默认初始计数值与2求和所得到的和值除以2后向下取整(当前数值有小数,则丢弃小数取整)。Among them, if the command is issued in phase0, the actual initial count value = the default initial count value set for the timing parameter defined in the memory specification is divided by 2 and then rounded up (if the current value has a decimal, discard the decimal and it will be the integer value + 1); if the command is issued in phase1, the actual initial count value = the sum of the default initial count value set by the timing parameter and 2 divided by 2 and then rounded down (the current value has a decimal, discard the decimal and round up).

上述设计在默认初始计数值是奇数,并且命令是在phase0发出时,会造成1个cycle的损失,也会在默认初始计数值是偶数,并且命令是在phase1发出时,造成1个cycle的损失。The above design will cause a loss of 1 cycle when the default initial count value is odd and the command is issued in phase0, and will cause a loss of 1 cycle when the default initial count value is even and the command is issued in phase1.

具体的,假设时序参数是tRCD,表示存储器控制器在发出Active命令后需要等待tRCD的默认初始计数值个cycle的时延才可发送Read/Write命令。Specifically, assuming that the timing parameter is tRCD, it means that the memory controller needs to wait for the default initial count value of tRCD cycle time delay before sending the Read/Write command after sending the Active command.

当与tRCD对应的默认初始计数值param_trcd=5(奇数),且Active0命令是从phase0发出时,计数器的实际初始计数值start_value=ceiling(param_trcd/2)=ceiling(5/2)=3,ceiling表示向上取整。计数器需要经过3个MC_CLK(6个CK)才能减至为0,表示存储器控制器需要6个CK后才可向存储器发送Read/Write命令。假设后续需要发送Read命令,如图1所示,在存储器装置侧,Active0(简化为ACT0) 命令到READ0命令的延时是6个cycle,会造成一个cycle的损失。When the default initial count value param_trcd=5 (odd number) corresponding to tRCD, and the Active0 command is issued from phase0, the actual initial count value of the counter start_value=ceiling(param_trcd/2)=ceiling(5/2)=3, ceiling means round up. The counter needs to go through 3 MC_CLKs (6 CKs) to be reduced to 0, which means that the memory controller needs 6 CKs before sending a Read/Write command to the memory. Assuming that a Read command needs to be sent later, as shown in Figure 1, on the memory device side, the delay from the Active0 (simplified to ACT0) command to the READ0 command is 6 cycles, which will cause a loss of one cycle.

当与tRCD对应的默认初始计数值param_trcd=4(偶数),且Active0 命令从phase1发出时,计数器的实际初始计数值start_value=Rounddown((param_trcd+2)/2)=Rounddown((4+2)/2)=3,Rounddown表示向下取整。计数器需要经过3个MC_CLK(由于是从phase1发出,因此对应5个CK)才能减至为0,表示存储器控制器需要5个CK后才可向存储器发送Read/Write命令。假设后续需要发送Read命令,如图2所示,在存储器装置侧,ACT0命令到READ0 命令的延时是5个cycle,会造成一个周期的损失。When the default initial count value param_trcd=4 (even number) corresponding to tRCD, and the Active0 command is issued from phase1, the actual initial count value of the counter start_value=Rounddown((param_trcd+2)/2)=Rounddown((4+2)/2)=3, Rounddown means rounding down. The counter needs to go through 3 MC_CLKs (since it is sent from phase1, so it corresponds to 5 CKs) before it can be reduced to 0, which means that the memory controller needs 5 CKs before it can send the Read/Write command to the memory. Assuming that a Read command needs to be sent later, as shown in FIG. 2 , on the memory device side, the delay from the ACT0 command to the READ0 command is 5 cycles, which will cause a loss of one cycle.

与之类似的,当MC_CLK:CK=1:4时,采用上述类似的做法,如果不区分phase0、phase1、phase2及phase3时序是否满足,也会损失一定的cycle。Similarly, when MC_CLK:CK=1:4, using the above-mentioned similar method, if you do not distinguish whether the timing of phase0, phase1, phase2, and phase3 is satisfied, a certain cycle will also be lost.

基于此,本公开的目的是提供一种基于存储器控制器的时序参数控制方案,可避免存储器控制器损失一定的cycle才能发出命令的问题,以提高存储器控制器的控制效率。Based on this, the purpose of the present disclosure is to provide a timing parameter control scheme based on a memory controller, which can avoid the problem that the memory controller loses a certain cycle before issuing commands, so as to improve the control efficiency of the memory controller.

具体地,本公开一个实施例提出一种存储器控制器,可以包括命令仲裁器及时序参数控制模块。当然,存储器控制器还可以包括其他模块,例如DFI接口控制模块。Specifically, an embodiment of the present disclosure provides a memory controller, which may include a command arbiter and a timing parameter control module. Certainly, the memory controller may also include other modules, such as a DFI interface control module.

以图3为例,图3示出一种具体的存储器控制器100,包括命令仲裁器101、时序参数控制模块102以及DFI接口控制模块103。Taking FIG. 3 as an example, FIG. 3 shows a specific memory controller 100 , including a command arbiter 101 , a timing parameter control module 102 and a DFI interface control module 103 .

其中,存储器控制器100发出的命令通过符合DFI接口协议的DFI命令接口107发给PHY 104,PHY 104再经由存储器命令接口108将命令转换成符合存储器接口协议的命令,再通过存储器命令接口108发给存储器装置105。Wherein, the command issued by the memory controller 100 is sent to the PHY 104 through the DFI command interface 107 conforming to the DFI interface protocol, and the PHY 104 converts the command into a command conforming to the memory interface protocol through the memory command interface 108, and then sends it to the memory device 105 through the memory command interface 108.

当然,图3中DFI命令接口107仅仅示出dfi_address信号接口进行表示,可以理解,DFI命令接口107还可以包括其他未示出的命令接口。Of course, the DFI command interface 107 in FIG. 3 only shows the dfi_address signal interface for representation. It can be understood that the DFI command interface 107 may also include other unshown command interfaces.

当MC_CLK:CK=1:2,包括有phase0(P0)及phase1(P1)两个相位,当MC_CLK:CK=1:4时,包括有phase0(P0)、phase1(P1)、phase2(P2)及phase3(P3)四个相位。也即是说,在每个存储器控制器的时钟周期内包括的相位个数,等于存储器频率CK与存储器控制器频率MC_CLK的比值。When MC_CLK:CK=1:2, it includes two phases of phase0 (P0) and phase1 (P1). When MC_CLK:CK=1:4, it includes four phases of phase0 (P0), phase1 (P1), phase2 (P2) and phase3 (P3). That is to say, the number of phases included in each clock cycle of the memory controller is equal to the ratio of the memory frequency CK to the memory controller frequency MC_CLK.

在本公开实施例中,当上层用户层要对存储器装置105进行读/写时,先通过AXI(Advanced eXtensible Interface)总线接口向存储器控制器100发送对应的Read/Write命令。In the embodiment of the present disclosure, when the upper user layer wants to read/write the memory device 105 , it first sends a corresponding Read/Write command to the memory controller 100 through an AXI (Advanced eXtensible Interface) bus interface.

存储器控制器100将接收到的命令整理成有时序的队列后,由存储器控制器100的命令仲裁器101根据队列时序从队列中选择命令,经由DFI接口控制模块103、PHY 104将命令发送至存储器装置105。After the memory controller 100 sorts the received commands into a sequenced queue, the command arbiter 101 of the memory controller 100 selects a command from the queue according to the sequence of the queue, and sends the command to the memory device 105 via the DFI interface control module 103 and the PHY 104.

在命令仲裁器101发出Read/Write命令之前,需要根据Read/Write命令所要访问的地址所在行是否已被激活,进而确定是否需要先针对该地址所在行发出Active命令,以对该地址所在行进行激活,待完成激活后,可针对该地址所在行发出Read/Write命令。若该地址所在行处于未激活状态,且其他地址所在行当前处于激活状态,则需要先向其他地址所在行发出Precharge命令后,才能对该地址所在行发出Active命令。Before the command arbiter 101 sends out the Read/Write command, it is necessary to determine whether the row at the address to be accessed by the Read/Write command has been activated, and then determine whether to issue an Active command for the row at the address to activate the row at the address. After the activation is completed, a Read/Write command can be issued at the row at the address. If the line where the address is located is inactive and the line where other addresses are located is currently active, you need to issue the Precharge command to the line where the other address is located before issuing the Active command for the line where the address is located.

值得指出的是,上述命令仲裁器101控制Active命令的发出时机的过程,是较为成熟的现有技术,此处不再赘述。It is worth pointing out that the above-mentioned process of the command arbiter 101 controlling the timing of issuing the Active command is a relatively mature prior art, and will not be repeated here.

在本公开实施例中,为了实现对时序参数的准确控制,对于存储器控制器100而言,可对其发出的命令进行跟踪。In the embodiment of the present disclosure, in order to realize accurate control of timing parameters, for the memory controller 100, the commands issued by it may be tracked.

其中,存储器控制器100所跟踪的命令,可以是存储器控制器100对存储器装置105进行读/写控制过程中所涉及到的至少一种命令,例如Active命令、Read命令、Write命令、Precharge命令等。Wherein, the command tracked by the memory controller 100 may be at least one command involved in the process of the memory controller 100 performing read/write control on the memory device 105, such as an Active command, a Read command, a Write command, and a Precharge command.

前文提及,每个存储器控制器的时钟周期内包括的相位个数,等于存储器频率CK与存储器控制器频率MC_CLK的比值,因此,在MC_CLK:CK≠1:1的情况下,在每个存储器控制的时钟周期内,包括多个相位。针对同一命令,当前存在的任意相位均可发出该命令,进而使得命令仲裁器101发出命令时,该命令的发出相位不固定。As mentioned above, the number of phases included in each memory controller clock cycle is equal to the ratio of the memory frequency CK to the memory controller frequency MC_CLK. Therefore, in the case of MC_CLK:CK≠1:1, multiple phases are included in each memory control clock cycle. For the same command, any currently existing phase can issue the command, so that when the command arbiter 101 issues the command, the phase in which the command is issued is not fixed.

在本公开实施例中,为了便于后续时序参数控制模块102能够区分出命令来自于哪个相位,针对每种相位,设置对应的命令有效信号cmd_vld(1有效)。例如,当前MC_CLK:CK=1:2,存在第零相位phase0以及第一相位phase1,也相应地设置cmd_vld_p0以及cmd_vld_p1。cmd_vld_p0有效表示从phase0发出的命令有效,cmd_vld_p1有效表示从phase1发出的命令有效。再例如,当前MC_CLK:CK=1:4,存在第零相位phase0、第一相位phase1、第二相位phase2以及第三相位phase3,也相应的设置cmd_vld_p0、cmd_vld_p1、cmd_vld_p2以及cmd_vld_p3。In the embodiment of the present disclosure, in order to make it easier for the subsequent timing parameter control module 102 to distinguish which phase the command comes from, for each phase, a corresponding command valid signal cmd_vld (1 valid) is set. For example, the current MC_CLK:CK=1:2, the zeroth phase phase0 and the first phase phase1 exist, and cmd_vld_p0 and cmd_vld_p1 are set accordingly. Valid cmd_vld_p0 indicates that the command issued from phase0 is valid, and cmd_vld_p1 valid indicates that the command issued from phase1 is valid. For another example, the current MC_CLK:CK=1:4, there are the zeroth phase phase0, the first phase phase1, the second phase phase2 and the third phase phase3, and correspondingly set cmd_vld_p0, cmd_vld_p1, cmd_vld_p2 and cmd_vld_p3.

基于此,为了便于后续时序参数控制模块102能够区分出命令来自于哪个相位,在本公开实施例中,命令仲裁器101,被配置为:根据当前发出的命令所使用的目标相位,将与目标相位对应的命令有效信号置为有效。Based on this, in order for the subsequent timing parameter control module 102 to be able to distinguish which phase the command comes from, in the embodiment of the present disclosure, the command arbiter 101 is configured to: according to the target phase used by the currently issued command, set the command valid signal corresponding to the target phase as valid.

为了避免MC_CLK和CK频率不匹配时所损失的时钟周期,时序参数控制模块102,被配置为:针对预设的对应于所述命令的每种时序参数,根据有效的所述命令有效信号指示的所述目标相位及该时序参数的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值,并启动所述计数器在每个MC_CLK按照第一预设值递减计数;在所述计数器计数到第二预设值时,将与所述第二预设值对应的相位的时序参数满足信号置为有效。In order to avoid clock cycles lost when the frequencies of MC_CLK and CK do not match, the timing parameter control module 102 is configured to: for each preset timing parameter corresponding to the command, initialize the actual initial count value of the counter corresponding to the timing parameter according to the target phase indicated by the effective command valid signal and the default initial count value of the timing parameter, and start the counter to count down at each MC_CLK according to the first preset value; when the counter counts to the second preset value, set the timing of the phase corresponding to the second preset value The parameter satisfaction signal is asserted.

其中,第一预设值是存储器频率与存储器控制器频率的比值,在该比值下形成的每种相位存在对应的第二预设值。Wherein, the first preset value is a ratio of the memory frequency to the memory controller frequency, and there is a corresponding second preset value for each phase formed under the ratio.

可选的,与各个相位对应的第二预设值是目标相位的相位号。Optionally, the second preset value corresponding to each phase is the phase number of the target phase.

例如,当前存在第零相位phase0以及第一相位phase1,与phase0对应的第二预设值是0,与phase1对应的第二预设值是1。For example, there are currently a zeroth phase phase0 and a first phase phase1, the second preset value corresponding to phase0 is 0, and the second preset value corresponding to phase1 is 1.

具体的,在本公开实施例中,针对待控制的每种时序参数(即预设的对应于所述命令的每种时序参数),可设置对应的时序参数满足信号timing_ok(1有效)以及计数器。当然,针对每种时序参数满足信号,也存在对应的命令,表示在时序参数满足信号为有效的情况下,当前已具备发送该命令的条件。Specifically, in the embodiment of the present disclosure, for each timing parameter to be controlled (that is, each preset timing parameter corresponding to the command), a corresponding timing parameter satisfaction signal timing_ok (1 is valid) and a counter may be set. Of course, for each timing parameter satisfaction signal, there is a corresponding command, indicating that the condition for sending the command is currently met when the timing parameter satisfaction signal is valid.

其中,待控制的时序参数,可以是存储器控制器100对存储器装置105进行读/写控制过程中,在当前发出的命令之后可能需要遵循的时序参数,例如可以是:时序参数为行寻址到列寻址延迟时间tRCD、内存行有效至预充电的最短周期tRAS、行到行的延时tRRD及写恢复延时tWR中的至少一种。The timing parameter to be controlled may be a timing parameter that may need to be followed after the currently issued command during the read/write control process of the memory device 105 by the memory controller 100, for example, it may be: the timing parameter is at least one of the delay time tRCD from row addressing to column addressing, the shortest period tRAS from memory row valid to precharging, row-to-row delay tRRD, and write recovery delay tWR.

以tRCD为例,与之对应的timing_ok可以是trcd_ok,且根据当前所包括的相位,具体细分为trcd_ok_p0/p1/pn。trcd_ok_p0有效时表示phase0时序满足,trcd_ok_p1有效时表示phase1时序满足,trcd_ok_pn有效时表示phasen时序满足。与tRCD时序参数对应的计数器为trcd_cnt。与trcd_ok对应的命令为Read命令以及Write命令。Taking tRCD as an example, the corresponding timing_ok can be trcd_ok, and it can be subdivided into trcd_ok_p0/p1/pn according to the phase currently included. When trcd_ok_p0 is valid, it means that the timing of phase0 is satisfied, when trcd_ok_p1 is valid, it means that the timing of phase1 is satisfied, and when trcd_ok_pn is valid, it means that the timing of phasen is satisfied. The counter corresponding to the tRCD timing parameter is trcd_cnt. The commands corresponding to trcd_ok are the Read command and the Write command.

时序参数控制模块102根据各个cmd_vld的有效状态,确定当前发出的命令所使用的目标相位后,即可针对对应于所述命令的每种时序参数,根据目标相位以及与该时序参数对应的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值start_value。After the timing parameter control module 102 determines the target phase used by the currently issued command according to the effective state of each cmd_vld, it can initialize the actual initial count value start_value of the counter corresponding to the timing parameter according to the target phase and the default initial count value corresponding to the timing parameter for each timing parameter corresponding to the command.

一种可选的初始化方式为:针对对应于所述命令的每种时序参数,时序参数控制模块102将与该时序参数对应的计数器的start_value初始化为:该时序参数的默认初始计数值与第二预设值之和。An optional initialization manner is as follows: for each timing parameter corresponding to the command, the timing parameter control module 102 initializes the start_value of the counter corresponding to the timing parameter to be: the sum of the default initial count value and the second preset value of the timing parameter.

每种时序参数的默认初始计数值由存储器说明书定义。与各个相位对应的第二预设值是该相位的相位号。The default initial count value for each timing parameter is defined by the memory specification. The second preset value corresponding to each phase is the phase number of the phase.

在MC_CLK:CK=1:2的情况下,存在第零相位及第一相位,且与所述第零相位对应的相位号为0,与所述第一相位对应的相位号为1;在MC_CLK:CK=1:4的情况下,存在第零相位、第一相位、第二相位及第三相位,且与所述第零相位对应的相位号为0,与所述第一相位对应的相位号为1,与所述第二相位对应的相位号为2,与所述第三相位对应的相位号为3。In the case of MC_CLK: CK = 1: 2, there is a zero -phase and first phase, and the phase number corresponding to the zero phase is 0, and the phase number corresponding to the first phase is 1; in the case of mc_ck: CK = 1: 4, there is a zero phase, first phase, second phase and third phase, and the phase number corresponding to the zero phase is 0. The phase number corresponding to the first phase is 1, the phase number corresponding to the second phase is 2, and the phase number corresponding to the third phase is 3.

假设MC_CLK:CK=1:4,且当前控制的时序参数为tRCD。若命令是从phase0发出(目标相位为phase0),那么trcd_start_value= param_trcd+0;若命令是从phase1发出(目标相位为phase1),那么trcd_start_value=param_trcd+1;若命令是从phase2发出(目标相位为phase2),那么trcd_start_value= param_trcd+2;若命令是从phase3发出(目标相位为phase3),那么trcd_start_value=param_trcd+3。Suppose MC_CLK:CK=1:4, and the timing parameter of the current control is tRCD. If the command is sent from phase0 (the target phase is phase0), then trcd_start_value=param_trcd+0; if the command is sent from phase1 (the target phase is phase1), then trcd_start_value=param_trcd+1; if the command is sent from phase2 (the target phase is phase2), then trcd_start_value=param_trcd+2; if the command is sent from phase3 (the target phase is phase3 ), then trcd_start_value=param_trcd+3.

在完成初始化后,针对每种时序参数,时序参数控制模块102启动与之对应的计数器在每个MC_CLK,按照CK / MC_CLK进行递减计数。例如,在MC_CLK:CK=1:2时,每个MC_CLK到达后,时序参数控制模块102将计数器的计数值减2;在MC_CLK:CK=1:4时,每个MC_CLK到达后,时序参数控制模块102将计数器的计数值减4。After the initialization is completed, for each timing parameter, the timing parameter control module 102 starts the corresponding counter to count down according to CK/MC_CLK at each MC_CLK. For example, when MC_CLK:CK=1:2, after each MC_CLK arrives, the timing parameter control module 102 will decrement the count value of the counter by 2; when MC_CLK:CK=1:4, after each MC_CLK arrives, the timing parameter control module 102 will decrement the count value of the counter by 4.

当然,值得指出的是,在本公开实施例中,各个计数器的计数值被定义为非负数,那么在计数器当前的计数值小于CK / MC_CLK的情况下,其在下一个存储器控制器时钟周期的计数值被配置为0。例如,若MC_CLK:CK=1:2,当计数器小于2为1时,计数器的下一个计数值为跳变为0;若MC_CLK:CK=1:4,当计数器小于4为3时,计数器的下一个计数值为跳变为0。Of course, it is worth pointing out that in the embodiment of the present disclosure, the count value of each counter is defined as a non-negative number, so if the current count value of the counter is less than CK/MC_CLK, its count value in the next memory controller clock cycle is configured as 0. For example, if MC_CLK:CK=1:2, when the counter is less than 2 to 1, the next count value of the counter will jump to 0; if MC_CLK:CK=1:4, when the counter is less than 4 to 3, the next count value of the counter will jump to 0.

在启动计数器后,针对对应于所述命令的每种时序参数,时序参数控制模块102监控与之对应的计数器的计数值,且在与之对应的计数器计数到第二预设值时,将与第二预设值对应的相位的时序参数满足信号置为有效。After the counter is started, for each timing parameter corresponding to the command, the timing parameter control module 102 monitors the count value of the counter corresponding thereto, and when the corresponding counter counts to the second preset value, the timing parameter satisfaction signal of the phase corresponding to the second preset value is asserted.

被置为有效的时序参数满足信号对应的相位,表示命令仲裁器101在后续可在该相位发送与时序参数满足信号对应的时序参数指示的后续命令。The phase corresponding to the timing parameter satisfaction signal that is enabled indicates that the command arbiter 101 can subsequently send a subsequent command indicated by the timing parameter corresponding to the timing parameter satisfaction signal at this phase.

例如,MC_CLK:CK=1:2,且当前控制的时序参数为tRCD。经过多个MC_CLK,当时序参数控制模块102检查到trcd_cnt的计数值减为1时,由于1是与phase1对应的第二预设值,表示phase1时序满足,则将trcd_ok_p1信号置为1,表示命令仲裁器101在后续可在phase1发出与trcd_ok对应的命令,即Read命令以及Write命令。For example, MC_CLK:CK=1:2, and the timing parameter of current control is tRCD. After a plurality of MC_CLKs, when the timing parameter control module 102 detects that the count value of trcd_cnt is reduced to 1, since 1 is the second preset value corresponding to phase1, indicating that the timing of phase1 is satisfied, the trcd_ok_p1 signal is set to 1, indicating that the command arbiter 101 can subsequently issue a command corresponding to trcd_ok in phase1, that is, a Read command and a Write command.

在下一个MC_CLK,时序参数控制模块102检查到trcd_cnt的计数值减为0时,由于0是与phase0对应的第二预设值,表示phase0时序满足,则将trcd_ok_p0信号置为1,由于当前trcd_ok_p1、trcd_ok_p0均有效,因此,命令仲裁器101在后续可在phase1发出与trcd_ok对应的命令,也可在phase0发出与trcd_ok对应的命令。In the next MC_CLK, when the timing parameter control module 102 checks that the count value of trcd_cnt is reduced to 0, since 0 is the second preset value corresponding to phase0, indicating that the timing of phase0 is satisfied, the trcd_ok_p0 signal is set to 1. Since the current trcd_ok_p1 and trcd_ok_p0 are both valid, the command arbiter 101 can subsequently issue a command corresponding to trcd_ok in phase1, or in phase0 Issue the command corresponding to trcd_ok.

当然,当与特定相位对应的时序参数满足信号被置为有效(即该特定相位满足时序)后,并不意味着命令仲裁器101在下一个存储器控制器的时钟周期内的该特定相位一定会发出对应的命令。该对应的命令的发出时机由具体的应用场景所决定。Of course, when the timing parameter satisfaction signal corresponding to a specific phase is asserted (that is, the specific phase satisfies the timing), it does not mean that the command arbiter 101 will definitely issue a corresponding command at the specific phase in the next clock cycle of the memory controller. The timing of issuing the corresponding command is determined by a specific application scenario.

值得指出的是,针对各种时序参数,均是并行的执行上述过程。It is worth noting that, for various timing parameters, the above processes are executed in parallel.

下面将以MC_CLK:CK=1:2,时序参数是tRCD为例,对存储器控制器100控制tRCD的几种情况进行说明。Taking MC_CLK:CK=1:2 and the timing parameter being tRCD as an example, several situations in which the memory controller 100 controls tRCD will be described below.

如图4所示,当与tRCD对应的默认初始计数值param_trcd=5为奇数,命令仲裁器101在phase0发出ACT0命令时,trcd_cnt从trcd_start_value = param_trcd = 5开始计数。每个MC_CLK 计数减2,当时序参数控制模块102检查到计数器trcd_cnt减到1时,trcd_ok_p1信号为1,表示相应的Read命令/Write命令可以在后续的phase1发出。当trcd_cnt减到0后,trcd_ok_p0 和trcd_ok_p1信号为1,表示相应的Read命令/Write命令可以在phase0发出,也可以在phase1发出。As shown in FIG. 4, when the default initial count value param_trcd=5 corresponding to tRCD is an odd number, and the command arbiter 101 issues the ACT0 command in phase0, trcd_cnt starts counting from trcd_start_value=param_trcd=5. Each MC_CLK counts down by 2, and when the timing parameter control module 102 detects that the counter trcd_cnt has decreased to 1, the trcd_ok_p1 signal is 1, indicating that the corresponding Read command/Write command can be issued in the subsequent phase1. When trcd_cnt decreases to 0, the trcd_ok_p0 and trcd_ok_p1 signals are 1, indicating that the corresponding Read command/Write command can be issued in phase0 or phase1.

在图4中,当命令仲裁器101检查到trcd_ok_p1有效后,即可在后续的phase1 发出READ0 命令,而无需再等待一个MC_CLK使得计数值减为0。从图4可以看出,DFI接口的dfi_address_p0 和dfi_address_p1 经过PHY104的转换后,转换到存储器装置105的ACT0 到READ0的延时是5 个存储器时钟周期,没有时钟损耗。In FIG. 4 , after the command arbiter 101 checks that trcd_ok_p1 is valid, the READ0 command can be issued in the subsequent phase1 without waiting for another MC_CLK to reduce the count value to 0. It can be seen from FIG. 4 that after dfi_address_p0 and dfi_address_p1 of the DFI interface are converted by the PHY 104 , the delay from ACT0 to READ0 of the memory device 105 is 5 memory clock cycles, and there is no clock loss.

如图5所示,当param_trcd=4为偶数,命令仲裁器101在phase0发出ACT0命令时,trcd_cnt从trcd_start_value = param_trcd = 4开始计数。每个MC_CLK 计数减2,当时序参数控制模块102检查到计数器减到0时,trcd_ok_p0和trcd_ok_p1均为1,表示相应的Read命令/Write命令可以在phase0发出也可以在phase1发出。As shown in FIG. 5 , when param_trcd=4 is an even number and the command arbiter 101 issues the ACT0 command in phase0, trcd_cnt starts counting from trcd_start_value=param_trcd=4. Each MC_CLK counts down by 2, and when the timing parameter control module 102 checks that the counter is reduced to 0, both trcd_ok_p0 and trcd_ok_p1 are 1, indicating that the corresponding Read command/Write command can be issued in phase0 or phase1.

在图5中,当命令仲裁器101检查到trcd_ok_p0有效后,在phase0 发出READ0 命令。可以看到DFI接口的命令接口信号dfi_address_p0 和dfi_address_p1经过PHY 的转换后,转换到存储器装置105的ACT0 到READ0的延时是4 个存储器时钟周期,没有时钟损耗。In FIG. 5 , when the command arbiter 101 checks that trcd_ok_p0 is valid, the READ0 command is issued in phase0. It can be seen that after the command interface signals dfi_address_p0 and dfi_address_p1 of the DFI interface are converted by the PHY, the delay from ACT0 to READ0 of the memory device 105 is 4 memory clock cycles, and there is no clock loss.

如图6所示,当param_trcd=5为奇数,命令仲裁器101在phase1发出ACT0命令时,trcd_cnt从trcd_start_value = param_trcd +1 = 6开始计数。每个MC_CLK计数值减2,当检查到计数器减到0时,trcd_ok_p0 和trcd_ok_p1均为1, 表示相应的Read命令/Write命令可以在phase0发出,也可以在phase1发出。As shown in FIG. 6 , when param_trcd=5 is an odd number and the command arbiter 101 issues the ACT0 command in phase1, trcd_cnt starts counting from trcd_start_value=param_trcd+1=6. Each MC_CLK count value is decremented by 2. When it is checked that the counter is reduced to 0, both trcd_ok_p0 and trcd_ok_p1 are 1, indicating that the corresponding Read command/Write command can be issued in phase0 or phase1.

当命令仲裁器101检查到trcd_ok_p0, trcd_ok_p1有效后,在phase0发出READ0命令。可以看到DFI接口的命令接口信号dfi_address_p0 和dfi_address_p1 经过PHY的转换后,转换到存储器装置105的ACT0 到READ0的delay是5 个存储器时钟周期,没有时钟损耗。When the command arbiter 101 checks that trcd_ok_p0 and trcd_ok_p1 are valid, a READ0 command is issued in phase0. It can be seen that after the command interface signals dfi_address_p0 and dfi_address_p1 of the DFI interface are converted by the PHY, the delay converted to ACT0 to READ0 of the memory device 105 is 5 memory clock cycles, and there is no clock loss.

如图7所示,当param_trcd=4偶数,命令仲裁器101在phase1发出ACT0命令时,trcd_cnt从trcd_start_value = param_trcd +1 = 5开始计数。每个MC_CLK 计数减2,当检查到计数器减到1时,trcd_ok_p1信号为1,表示相应的Read命令/Write命令可以在phase1发出。当trcd_cnt减到0后,trcd_ok_p0 和trcd_ok_p1信号为1, 表示相应的Read命令/Write命令可以在phase0发出,也可以在phase1发出。As shown in FIG. 7 , when param_trcd=4 is an even number, and the command arbiter 101 issues the ACT0 command in phase1, trcd_cnt starts counting from trcd_start_value=param_trcd+1=5. Each MC_CLK counts down by 2. When it is checked that the counter is down to 1, the trcd_ok_p1 signal is 1, indicating that the corresponding Read command/Write command can be issued in phase1. When trcd_cnt is reduced to 0, the trcd_ok_p0 and trcd_ok_p1 signals are 1, indicating that the corresponding Read command/Write command can be issued in phase0 or phase1.

当命令仲裁器101检查到trcd_ok_p1 有效后,在phase1 发出READ0命令。可以看到DFI接口的命令接口信号dfi_address_p0 和dfi_address_p1 经过PHY 的转换后,转换到存储器装置105的ACT0 到READ0的delay是4 个存储器时钟周期,没有时钟损耗。When the command arbiter 101 checks that trcd_ok_p1 is valid, it sends the READ0 command in phase1. It can be seen that after the command interface signals dfi_address_p0 and dfi_address_p1 of the DFI interface are converted by the PHY, the delay converted to ACT0 to READ0 of the memory device 105 is 4 memory clock cycles, and there is no clock loss.

有上述内容可知,在本公开实施例中,通过区分命令具体从哪个目标相位发出,以及针对每个相位,设置对应的时序参数实际初始计数值、时序参数满足信号以及用于表示时序参数满足信号置有效的第二预设值,可有针对性地应对各种默认初始计数值与各种相位的情况,进而可以避免不同默认初始计数值与不同phase在MC_CLK和CK频率不匹配时,所带来的时钟周期损失的问题。It can be seen from the above that in the embodiments of the present disclosure, by distinguishing which target phase the command is sent from, and setting the corresponding actual initial count value of the timing parameter, the timing parameter satisfaction signal, and the second preset value used to indicate that the timing parameter satisfaction signal is valid for each phase, it is possible to deal with various default initial count values and various phases in a targeted manner, thereby avoiding the problem of clock cycle loss caused by different default initial count values and different phases when the frequencies of MC_CLK and CK do not match.

此外,本公开实施例还提供一种存储器控制系统,包括上述任一实施例中的存储器控制器、存储器装置、以及连接于所述存储器控制器及所述存储器装置之间的端口物理层芯片PHY。In addition, an embodiment of the present disclosure further provides a memory control system, including the memory controller in any of the above embodiments, a memory device, and a port physical layer chip PHY connected between the memory controller and the memory device.

可选的,存储器装置可以是动态随机存取存储器,上述动态随机存取存储器可以是图形双倍速率同步动态随机存储器GDDR SDRAM。Optionally, the memory device may be a dynamic random access memory, and the dynamic random access memory may be a graphics double rate synchronous dynamic random access memory (GDDR SDRAM).

由于采用上述存储器控制器,可避免存储器控制器损失时钟周期才能发出命令的问题,提高控制效率,相应的,对于包括该存储器控制器的存储器控制系统而言,也可提高内存访问性能。Due to the use of the above memory controller, the problem that the memory controller loses clock cycles to issue commands can be avoided, and the control efficiency can be improved. Correspondingly, for the memory control system including the memory controller, the memory access performance can also be improved.

此外,本公开实施例还提供一种SOC,该SOC包括上述存储器控制系统。在一些使用场景下,该SOC的产品形式体现为GPU(Graphics Processing Unit,图形处理器) SOC;在另一些使用场景下,该SOC的产品形式体现为CPU(Central Processing Unit,中央处理器)SOC。In addition, an embodiment of the present disclosure further provides a SOC, which includes the above memory control system. In some usage scenarios, the product form of the SOC is a GPU (Graphics Processing Unit, graphics processing unit) SOC; in other usage scenarios, the product form of the SOC is a CPU (Central Processing Unit, central processing unit) SOC.

由于内存的性能对SOC的性能影响较大,相应的,在基于存储器控制系统可提高内存访问性能的基础上,可间接地提高SOC的性能。Since the performance of the memory has a great influence on the performance of the SOC, correspondingly, on the basis of improving the memory access performance based on the memory control system, the performance of the SOC can be improved indirectly.

此外,本公开实施例还提供一种电子组件,该电子组件包括上述任一实施例中所述的SOC。在一些使用场景下,该电子组件的产品形式体现为显卡;在另一些使用场景下,该电子组件的产品形式体现为CPU主板。In addition, an embodiment of the present disclosure further provides an electronic component, which includes the SOC described in any one of the above embodiments. In some usage scenarios, the product form of the electronic component is a graphics card; in other usage scenarios, the product form of the electronic component is a CPU motherboard.

此外,本公开实施例还提供一种电子设备,该电子设备包括上述的电子组件。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机、工作站、服务器等。In addition, an embodiment of the present disclosure also provides an electronic device, which includes the above-mentioned electronic component. In some usage scenarios, the product form of the electronic device is a portable electronic device, such as a smartphone, tablet computer, VR device, etc.; in some usage scenarios, the product form of the electronic device is a personal computer, a game console, a workstation, a server, etc.

此外,本公开实施例还提供一种时序参数控制方法,应用于存储器控制器,存储器控制器包括命令仲裁器及时序参数控制模块。In addition, an embodiment of the present disclosure also provides a timing parameter control method, which is applied to a memory controller, and the memory controller includes a command arbiter and a timing parameter control module.

请参照图8,该时序参数控制方法可以包括:Referring to FIG. 8, the timing parameter control method may include:

步骤S110:命令仲裁器根据当前发出的命令所使用的目标相位,将与所述目标相位对应的命令有效信号置为有效。Step S110: the command arbiter sets the command valid signal corresponding to the target phase to active according to the target phase used by the currently issued command.

步骤S120:时序参数控制模块针对预设的对应于所述命令的每种时序参数,根据有效的所述命令有效信号指示的所述目标相位及该时序参数的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值,并启动所述计数器在每个存储器控制器的时钟周期按照第一预设值递减计数;在所述计数器计数到第二预设值时,将与所述第二预设值对应的相位的时序参数满足信号置为有效。Step S120: For each preset timing parameter corresponding to the command, the timing parameter control module initializes the actual initial count value of the counter corresponding to the timing parameter according to the target phase indicated by the effective command valid signal and the default initial count value of the timing parameter, and starts the counter to count down according to the first preset value in each clock cycle of the memory controller; when the counter counts to the second preset value, the timing parameter satisfaction signal of the phase corresponding to the second preset value is set to valid.

该被置为有效的时序参数满足信号对应的相位,表征所述命令仲裁器可在该相位发送与所述时序参数满足信号对应的时序参数指示的后续命令。The phase corresponding to the timing parameter satisfaction signal that is enabled indicates that the command arbiter can send a subsequent command indicated by the timing parameter corresponding to the timing parameter satisfaction signal at this phase.

所述第一预设值是存储器频率与存储器控制器频率的比值,在所述比值下形成的每种相位存在对应的第二预设值。The first preset value is a ratio of the memory frequency to the memory controller frequency, and each phase formed under the ratio has a corresponding second preset value.

可选的,所述针对预设的对应于所述命令的每种时序参数,根据有效的所述命令有效信号指示的所述目标相位及该时序参数的默认初始计数值,初始化与该时序参数对应的计数器的实际初始计数值,包括:Optionally, for each preset timing parameter corresponding to the command, according to the target phase indicated by the effective command valid signal and the default initial count value of the timing parameter, initializing the actual initial count value of the counter corresponding to the timing parameter includes:

针对对应于所述命令的每种时序参数,将与该时序参数对应的计数器的实际初始计数值初始化为:该时序参数的默认初始计数值与第二预设值之和;所述第二预设值是所述目标相位的相位号。For each timing parameter corresponding to the command, the actual initial count value of the counter corresponding to the timing parameter is initialized as: the sum of the default initial count value of the timing parameter and a second preset value; the second preset value is the phase number of the target phase.

可选的,在所述存储器控制器频率与所述存储器频率之比为1:2的情况下,存在第零相位及第一相位,且与所述第零相位对应的相位号为0,与所述第一相位对应的相位号为1;在所述存储器控制器频率与所述存储器频率之比为1:4的情况下,存在第零相位、第一相位、第二相位及第三相位,且与所述第零相位对应的相位号为0,与所述第一相位对应的相位号为1,与所述第二相位对应的相位号为2,与所述第三相位对应的相位号为3。Optionally, when the ratio of the memory controller frequency to the memory frequency is 1:2, there are a zeroth phase and a first phase, and the phase number corresponding to the zeroth phase is 0, and the phase number corresponding to the first phase is 1; when the ratio of the memory controller frequency to the memory frequency is 1:4, there are a zeroth phase, a first phase, a second phase, and a third phase, and the phase number corresponding to the zeroth phase is 0, the phase number corresponding to the first phase is 1, and the phase number corresponding to the second phase is 2 , the phase number corresponding to the third phase is 3.

可选的,与各个相位对应的第二预设值是该相位的相位号。Optionally, the second preset value corresponding to each phase is the phase number of the phase.

可选的,所述相位的个数与所述比值的数值相同。Optionally, the number of phases is the same as the value of the ratio.

可选的,所述计数器的计数值为非负数,且在当前的计数值小于所述比值的情况下,其在下一个存储器控制器时钟周期的计数值被配置为0。Optionally, the count value of the counter is a non-negative number, and if the current count value is smaller than the ratio, its count value in the next memory controller clock cycle is configured as 0.

可选的,所述时序参数为行寻址到列寻址延迟时间tRCD、内存行有效至预充电的最短周期tRAS、行到行的延时tRRD或写恢复延时tWR。Optionally, the timing parameter is a delay time tRCD from row addressing to column addressing, a shortest period tRAS from memory row valid to precharging, a row-to-row delay tRRD or a write recovery delay tWR.

基于上述方案,通过区分命令具体从哪个目标相位发出,以及针对每个相位,设置对应的时序参数实际初始计数值、时序参数满足信号以及用于表示时序参数满足信号置有效的第二预设值,可有针对性地应对各种默认初始计数值与各种相位的情况,进而可以避免不同默认初始计数值与不同phase在MC_CLK和CK频率不匹配时,所带来的时钟周期损失的问题。Based on the above scheme, by distinguishing which target phase the command is sent from, and for each phase, setting the corresponding actual initial count value of the timing parameter, the timing parameter satisfaction signal, and the second preset value used to indicate that the timing parameter satisfaction signal is valid, it is possible to deal with various default initial count values and various phases in a targeted manner, thereby avoiding the problem of clock cycle loss caused by different default initial count values and different phases when the frequencies of MC_CLK and CK do not match.

尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。While preferred embodiments of the present disclosure have been described, additional changes and modifications can be made to these embodiments by those skilled in the art once the basic inventive concept is appreciated. Therefore, it is intended that the appended claims be construed to cover the preferred embodiment and all changes and modifications which fall within the scope of the present disclosure.

显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。It is obvious that those skilled in the art can make various changes and modifications to the present disclosure without departing from the spirit and scope of the present disclosure. Thus, if these modifications and variations of the present disclosure fall within the scope of the claims of the present disclosure and equivalent technologies thereof, the present disclosure also intends to include these modifications and variations.

Claims (10)

1. A memory controller includes a command arbiter and a timing parameter control module;
the command arbiter is configured to: according to the target phase used by the currently issued command, a command valid signal corresponding to the target phase is set to be valid;
the timing parameter control module is configured to: for each preset time sequence parameter corresponding to the command, initializing an actual initial count value of a counter corresponding to the time sequence parameter according to the target phase indicated by the valid command valid signal and a default initial count value of the time sequence parameter, and starting the counter to count down according to a first preset value in a clock cycle of each memory controller; when the counter counts to a second preset value, a time sequence parameter meeting signal of a phase corresponding to the second preset value is set to be valid, and the command arbiter is characterized in that a subsequent command indicated by the time sequence parameter corresponding to the time sequence parameter meeting signal can be sent at the phase;
the first preset value is a ratio of the memory frequency to the memory controller frequency, and each phase formed under the ratio has a corresponding second preset value;
the actual initial count value of the counter corresponding to the timing parameter is initialized to: the default initial count value of the time sequence parameter is added with a second preset value; the second preset value is a phase number of the target phase.
2. The memory controller of claim 1, wherein a zeroth phase and a first phase are present and a phase number corresponding to the zeroth phase is 0 and a phase number corresponding to the first phase is 1 in a case where a ratio of the memory controller frequency to the memory frequency is 1:2; when the ratio of the memory controller frequency to the memory frequency is 1:4, there are a zeroth phase, a first phase, a second phase, and a third phase, and the phase number corresponding to the zeroth phase is 0, the phase number corresponding to the first phase is 1, the phase number corresponding to the second phase is 2, and the phase number corresponding to the third phase is 3.
3. The memory controller of claim 1, the number of phases being the same as the value of the ratio.
4. The memory controller of claim 1, the counter count value is a non-negative number, and the count value at the next memory controller clock cycle is configured to be 0 if the current count value is less than the ratio.
5. The memory controller of any one of claims 1-4, the timing parameter being a row-to-column address delay time tRCD, a memory row valid-to-precharge shortest period tRAS, a row-to-row delay tRRD, or a write recovery delay tWR.
6. A timing parameter control method applied to a memory controller including a command arbiter and a timing parameter control module, the method comprising:
the command arbiter sets a command valid signal corresponding to a target phase to be valid according to the target phase used by a currently issued command;
the time sequence parameter control module initializes the actual initial count value of a counter corresponding to the time sequence parameter according to the target phase indicated by the effective command effective signal and the default initial count value of the time sequence parameter aiming at each preset time sequence parameter corresponding to the command, and starts the counter to count down according to a first preset value in the clock period of each memory controller; when the counter counts to a second preset value, a time sequence parameter meeting signal of a phase corresponding to the second preset value is set to be valid, and the command arbiter is characterized in that a subsequent command indicated by the time sequence parameter corresponding to the time sequence parameter meeting signal can be sent at the phase;
the first preset value is a ratio of the memory frequency to the memory controller frequency, and each phase formed under the ratio has a corresponding second preset value;
the actual initial count value of the counter corresponding to the timing parameter is initialized to: the default initial count value of the time sequence parameter is added with a second preset value; the second preset value is a phase number of the target phase.
7. A memory control system comprising the memory controller of any one of claims 1-5, a memory device, a port physical layer chip PHY connected between the memory controller and the memory device.
8. A system on a chip comprising the memory control system of claim 7.
9. An electronic assembly comprising the system-on-chip of claim 8.
10. An electronic device comprising the electronic assembly of claim 9.
CN202310132750.3A 2023-02-20 2023-02-20 Memory controller, system and system on chip, timing parameter control method Active CN116010309B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310132750.3A CN116010309B (en) 2023-02-20 2023-02-20 Memory controller, system and system on chip, timing parameter control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310132750.3A CN116010309B (en) 2023-02-20 2023-02-20 Memory controller, system and system on chip, timing parameter control method

Publications (2)

Publication Number Publication Date
CN116010309A CN116010309A (en) 2023-04-25
CN116010309B true CN116010309B (en) 2023-07-21

Family

ID=86033643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310132750.3A Active CN116010309B (en) 2023-02-20 2023-02-20 Memory controller, system and system on chip, timing parameter control method

Country Status (1)

Country Link
CN (1) CN116010309B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342615A (en) * 2021-06-29 2021-09-03 海光信息技术股份有限公司 Command monitoring method, device, controller, system, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142470B2 (en) * 2005-03-22 2006-11-28 Mediatek Inc. Methods and systems for generating latch clock used in memory reading
US9160518B1 (en) * 2014-09-30 2015-10-13 Realtek Semiconductor Corporation Half-rate clock-data recovery circuit and method thereof
CN112631966B (en) * 2020-12-17 2024-01-26 海光信息技术股份有限公司 Data processing method, memory controller, processor and electronic equipment
CN113553277B (en) * 2021-06-24 2023-06-09 西安电子科技大学 A high-throughput, low-latency PHY interface circuit device for DDR5 SDRAM

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342615A (en) * 2021-06-29 2021-09-03 海光信息技术股份有限公司 Command monitoring method, device, controller, system, equipment and storage medium

Also Published As

Publication number Publication date
CN116010309A (en) 2023-04-25

Similar Documents

Publication Publication Date Title
JP6396515B2 (en) Directed automatic refresh synchronization
CN101093435B (en) Memory interface with independent arbitration of precharge, activate, and read/write
US8281101B2 (en) Dynamic random access memory with shadow writes
US6477598B1 (en) Memory controller arbitrating RAS, CAS and bank precharge signals
US5889714A (en) Adaptive precharge management for synchronous DRAM
JP6196447B2 (en) Apparatus and method for reduced pin count (RPC) memory bus interface including read data strobe signal
US5873114A (en) Integrated processor and memory control unit including refresh queue logic for refreshing DRAM during idle cycles
CN103154918B (en) For Memory Controller based on crossfire transaction information application page-management policies, system and method
CN108139994B (en) Memory access method and memory controller
US10162522B1 (en) Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
US6549991B1 (en) Pipelined SDRAM memory controller to optimize bus utilization
CN116010309B (en) Memory controller, system and system on chip, timing parameter control method
WO2022241754A1 (en) Memory device and controlling method thereof
CN120255796A (en) Method of operating memory device and method of operating electronic device including the same
US10338821B2 (en) Memory controller for high latency memory devices
US20240168896A1 (en) Memory controller, electric system including the same and method of controlling memory access
CN115244488B (en) Method, apparatus and system for high speed serial bus transactions
JP6700739B2 (en) Controller and control method
US20190096459A1 (en) Memory devices for performing multiple write operations and operating methods thereof
EP4057286B1 (en) Operating method of memory device for extending synchronization of data clock signal, and operating method of electronic device including the same
JP2013089030A (en) Information processing system, control system, and semiconductor device
US20240338126A1 (en) Conflict Avoidance for Bank-Shared Circuitry that supports Usage-Based Disturbance Mitigation
HK40057206A (en) Enhanced data clock operations in memory
CN115691604A (en) Memory refresh control method, refresh controller and electronic device
JP2004022123A (en) Interface circuit

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Memory controller, system and on-chip system, timing parameter control method

Granted publication date: 20230721

Pledgee: Ji Aiqin

Pledgor: Xiangdixian Computing Technology (Chongqing) Co.,Ltd.|Beijing xiangdixian Computing Technology Co.,Ltd.

Registration number: Y2024980043989

PE01 Entry into force of the registration of the contract for pledge of patent right