CN113299328B - 随机寻址读写控制方法、控制系统及存储介质 - Google Patents
随机寻址读写控制方法、控制系统及存储介质 Download PDFInfo
- Publication number
- CN113299328B CN113299328B CN202110555031.3A CN202110555031A CN113299328B CN 113299328 B CN113299328 B CN 113299328B CN 202110555031 A CN202110555031 A CN 202110555031A CN 113299328 B CN113299328 B CN 113299328B
- Authority
- CN
- China
- Prior art keywords
- read
- request
- write
- storage
- preset
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
本申请公开了一种随机寻址读写控制方法、控制系统及存储介质。其中,控制方法包括接收读请求和写请求,并根据写请求获取写请求对应的第一存储器的第一存储状态;根据读请求获取读请求对应的第二存储器的第二存储状态;若第一存储状态为非满状态,根据写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程;若第二存储状态为非空状态,根据读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的读操作过程,并输出读操作过程读取的数据。本申请的随机寻址读写控制方法能够提高DDR的随机寻址的读写效率。
Description
技术领域
本申请涉及内部存储器控制领域,尤其涉及一种随机寻址读写控制方法、控制系统及存储介质。
背景技术
DDR-SDRAM芯片因其具有高性能、低价格、小型化和大容量的特点,而在电子消费产品、PC、通信等领域作为数据存储器得到了广泛的应用。在一般应用时,基于FPGA的DDR控制比片上RAM复杂许多,写入和读出也不像FPGA片上RAM一样延时较短,对DDR的读写一般存在较大的延迟,对DDR芯片操作有着一定的时序要求和关系,不合理的操作回会导致读写DDR失败或者严重影响DDR芯片的工作效率。鉴于以上原因,基于FPGA控制DDR的操作和应用,不会直接操作DDR-SDRAM芯片,一般会使用FPGA厂家提供的IP核去实现对DDR操作和应用。现有厂家IP中一般会包含控制器和DDR_PHY两部分,同时提供用户使用接口,对于FPGA开发者而言只有熟悉厂家的IP用法及接口,才能正确使用厂家现有的IP。
FPGA厂家提供的DDR控制IP核,已经大大简化了开发者的难度,同时提供了用户接口,但是还是对开发人员专业性要求较高,开发人员需要理解内部具体DDR控制方式才能更好的高效率的应用厂家提供的IP。相关技术中,随机寻址方式需要完成一个完整的操作以后在进行下一个完整的操作,需要消耗很长的时间且效率低下。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种随机寻址读写控制方法,能够提高DDR的随机寻址的读写效率。
本申请还提出一种随机寻址读写控制控制系统。
本申请还提出一种计算机可读存储介质。
根据本申请的第一方面实施例的随机寻址读写控制方法,包括:
接收读请求和写请求,并根据所述写请求获取所述写请求对应的第一存储器的第一存储状态;
根据所述读请求获取所述读请求对应的第二存储器的第二存储状态;
若所述第一存储状态为非满状态,根据所述写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程;
若所述第二存储状态为非空状态,根据所述读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的所述读操作过程,并输出所述读操作过程读取的数据。
根据本申请实施例的随机寻址读写控制方法,至少具有如下有益效果:通过将每一次写操作或者每一次读操作以预设激活命令时间循环插入上次写操作或上次读操作的延迟等待时间中,能够降低后续写操作和读操作的延迟等待时间,从而提高了DDR随机寻址的读操作和写操作的效率。
根据本申请的一些实施例,所述写操作过程包括:
根据所述写请求输出与所述写请求对应的第一激活信号,根据所述第一激活信号激活所述第一激活信号对应的存储阵列和所述存储阵列的行地址,并根据所述第一激活信号将地址总线配置为bank地址和行地址;
根据预设选通延迟时间输出与所述写请求对应的第一操作信号,根据所述第一操作信号选中所述存储阵列中的列地址,并根据所述第一操作信号将所述地址总线配置为列地址;
根据预设写操作潜伏时间将所述写请求对应的第一数据写入所述地址总线选中的地址中。
根据本申请的一些实施例,所述读操作过程包括:
根据所述读请求输出与所述读请求对应的第二激活信号,根据所述第二激活信号激活所述第二激活信号对应的存储阵列和所述存储阵列的行地址,并根据所述第二激活信号将地址总线配置为bank地址和行地址;
根据预设选通延迟时间输出与所述读请求对应的第二操作信号,根据所述第二操作信号选中所述存储阵列中的列地址,并根据所述第二操作信号将所述地址总线配置为列地址;
根据预设读操作延迟时间从所述地址总线选中的地址中读取第二数据。
根据本申请的一些实施例,所述控制方法还包括:
若所述第一存储状态为满状态,第一存储器输出与所述满状态对应的第一信号,并根据所述第一信号阻止所述写请求对应的写操作过程。
根据本申请的一些实施例,所述控制方法还包括:
若所述第二存储状态为空状态,第二存储器输出与所述空状态对应的第二信号,并根据所述第二信号阻止所述读请求对应的读操作过程。
根据本申请的一些实施例,所述控制方法还包括:
接收复位信号,并根据所述复位信号进行初始化操作。
根据本申请的一些实施例,所述控制方法还包括:
接收刷新请求信号,并根据所述刷新请求信号进行刷新操作,所述刷新请求信号由内部定时器根据预设刷新周期定时产生。
根据本申请的一些实施例,所述预设激活命令时间为4个时钟周期,所述预设选通延迟时间为9个时钟周期,所述预设写操作潜伏时间7个时钟周期,所述预设读操作延迟时间9个时钟周期。
根据本申请的第二方面实施例的随机寻址读写控制系统,包括:
接收获取模块,所述接收获取模块用于接收读请求和写请求,并根据所述写请求获取所述写请求对应的第一存储器的第一存储状态;
所述接收获取模块还用于根据所述读请求获取所述读请求对应的第二存储器的第二存储状态;
判断模块,所述判断模块用于判断所述第一存储状态,以输出第一判断结果;
所述判断模块还用于判断所述第二存储状态,以输出第二判断结果;
写入模块,所述写入模块用于根据所述第一判断结果和所述写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程;
读取模块,所述读取模块用于根据所述读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的读操作过程,并输出所述读操作过程读取的数据。
根据本申请实施例的随机寻址读写控制系统,至少具有如下有益效果:通过将每一次写操作或者每一次读操作以预设激活命令时间循环插入上次写操作或上次读操作的延迟等待时间中,能够降低后续写操作和读操作的延迟等待时间,从而提高了DDR读操作和写操作的效率。
根据本申请的第三方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面实施例中任意一项所述的随机寻址读写控制方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
下面结合附图和实施例对本申请做进一步的说明,其中:
图1为本申请实施例提供的随机寻址读写控制方法的流程图;
图2为本申请实施例提供的随机寻址读写控制方法的流程图;
图3为本申请实施例提供的读/写操作时序图;
图4为本申请实施例提供的随机寻址读写控制方法的流程图;
图5为本申请实施例提供的随机寻址读写控制系统的模块框图。
附图标记:100、接收获取模块;200、判断模块;300、写入模块;400、读取模块。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本申请的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请中的具体含义。
本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,以下为本申请实施例中涉及到的名词或者相关操作的解释:
tRCD(RAS to CAS Delay):行有效到读/写操作有效命令发出的时间间隔。RAS至CAS延迟,RAS(Row Address Strobe)就是行地址选通脉冲,CAS(Column Address Strobe)就是列地址选通脉冲,以时钟周期数为单位。如:tRCD=3clk,表示行选通周期为3个时钟周期。具体到确切的时间,则需要根据时钟频率而定,对于DDR3-800,tRCD=3,代表30ns的延迟。
tRAS(RAS Active Time):内存行有效至预充电的最短周期。
tCL(CAS Latency):列地址脉冲选通潜伏期。tCL的数值与tRCD一样,以时钟周期数表示,在本申请实施例中为预设读操作延迟时间。如DDR3-800,时钟频率为100MHz,时钟周期为10ns,如果tCL=2就意味着20ns的潜伏期。不过tCL只是针对读取操作。
tWL(Write Latency):写操作潜伏期,tWL=tAL+tCAS。tWL的数值与tRCD一样,以时钟周期数表示,在本申请实施例中为预设写操作潜伏时间。如DDR3-800,时钟频率为100MHz,时钟周期为10ns,如果tWL=2就意味着20ns的潜伏期。
tAL(Access Time Latency):附加延时。tRAS后,可以立即CAS读命令。但是需要保持AL个周期,可以提高总线的效率。
tAC(Access Time from CLK):时钟触发后的访问时间,单位为时钟周期数。
tRRD(Row to Row Delay,行单元到行单元的延时):不同Bank之间的激活命令时间间隔被称为tRRD,在本申请实施例中tRRD为预设激活命令时间。
tRP(Row Precharge command Period):行充电有效周期,单位为时钟周期数。
参照表1,DDR内部是存储阵列,当进行读操作或者写操作时,需要指定相对应的地址。图1中的表格表示逻辑Bank(Logical Bank,存储阵列),B表示Bank地址编号,C表示列(Column)地址编号,R表示行(Row)地址编号。在寻址时,需要具体指定Bank地址编号、列地址编号和行地址编号。如需要找到表1中A点的位置,寻址命令为:B1、R2、C6。
表1:存储阵列
在实际工作中,Bank地址与相应的行地址是同时发出的,此时对应的命令称之为“行激活命令(Row Active)”。在此之后,发送对应的列地址寻址命令和具体的操作命令(包括读操作命令和写操作命令),列地址寻址命令与具体的操作命令是同时发出的,因此,一般以“读/写操作命令”来表示列寻址。相关的列地址被选中之后,将会触发数据传输,但是从存储单元中输出到内存芯片的I/O口之间还需要一定的时间(数据触发本身就有延迟,而且还需要进行信号放大),即tCL。
目前内存的读写基本都是连续的,因为与CPU交换的数据量以一个Cache Line(即CPU内Cache的存储单位)的容量为准,一般为64字节。而现有的Bank位宽为8字节(64bit),那么就要一次连续传输8次,这就涉及到突发传输的概念。突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(BurstLengths,简称BL)。在进行突发传输时,只要指定起始列地址与突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址。这样,除了第一笔数据的传输需要若干个周期(主要是之前的延迟,一般的是tRCD+CL)外,其后每个数据只需一个周期的即可获得。
突发连续读取模式:只要指定起始列地址与突发长度,后续的寻址与数据的读取自动进行,而只要控制好两段突发读取命令的间隔周期(与BL相同)即可做到连续的突发传输。
而连续随机寻址,存储单元大多数不是连续的,因此每一个读操作或者写操作需要指定Bank地址编号、行地址编号以及列地址编号。对于不同的Bank地址编号和不同的行地址编号进行读操作或者写操作时,需要将原来的Bank地址编号或者行地址编号取消,在激活新的Bank地址编号和行地址编号。从开始关闭现有的工作行,到可以打开新的工作行之间的间隔就是tRP。如:当前寻址存储单元是B1、R2、C6,如果接下来的寻址命令是B1、R4、C4,那么就必须要先把R2关闭,才能对R4寻址。不同Bank地址之间的激活命令时间间隔就是tRRD。如:当前寻址存储单元是B1、R2、C6,如果接下来的寻址命令是B2、R4、C4,那么就必须重新下发bank地址激活命令和行地址激活命令。也就是说,相关技术中的连续随机寻址中需要将某一个读操作或者写操作全部执行完毕后,才进行下一次的读操作或者写操作,期间需要等待很多的延迟时间,造成了DDR读写操作效率的低下。
第一方面,参照图1,本申请的一些实施例提供了一种随机寻址读写控制方法,包括但不限于步骤S1000、步骤S1100、步骤S1200和步骤S1300。
步骤S1000:接收读请求和写请求,并根据写请求获取写请求对应的第一存储器的第一存储状态;
步骤S1100:根据读请求获取读请求对应的第二存储器的第二存储状态;
步骤S1200:若第一存储状态为非满状态,根据写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程;
步骤S1300:若第二存储状态为非空状态,根据读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的读操作过程,并输出读操作过程读取的数据。
其中,预设激活命令时间为不同Bank地址之间的激活命令时间间隔,称为tRRD。在每一次执行读操作过程或者写操作过程时都需要发送行激活命令,再进行下一步的操作。
本申请实施例的随机寻址读写控制方法,通过将每一次写操作或者每一次读操作的行激活命令以预设激活命令时间循环插入上次写操作或上次读操作的延迟等待时间中,能够降低后续写操作和读操作的延迟等待时间,从而提高了DDR随机寻址的读操作和写操作的效率。
需要说明的是,本申请中提到的预设激活命令时间为tRRD,预设选通延迟时间为tRCD,预设写操作潜伏时间为tWL,预设读操作延迟时间为tCL,时间的长短与DDR的型号、内部时钟频率等有关,预设阵列数为逻辑Bank数,与内存芯片的设计有关,如DDR3内存芯片基本上是8个Bank设计,第一存储器在本申请实施例中为DDR写数据FIFO存储器,第二存储器在本申请实施例中为DDR读数据FIFO存储器。
具体地,相关技术中,寻址时需要将某一个读操作或者写操作全部执行完毕,才输出下一次读操作或者写操作对应的行激活命令。在突发连续读取模式时,前提是Bank地址编号和行地址编号一致,而仅仅列地址编号不一致,在这种情况下,只有第一笔数据的传输需要若干个周期(一般是tRCD+tCL),之后的每个数据只需要一个周期(一般是tCL)。而随机寻址时,往往是Bank地址编号、行地址和列地址编号均不一致,因此每一笔数据的传输都需要经过若干个周期,造成了很大的资源浪费,DDR随机寻址的效率不高。在本实施例中,以写操作为例,进行详细说明。首先接收一系列的写请求,如果判断第一存储器的第一存储状态为非满状态,根据第一个写请求对应的写操作下发行激活命令,在第一个写请求命令下发以后,在间隔预设激活命令时间后,下发第二个写请求对应的写操作的行激活命令,以此类推,直到完成预设阵列数的存储阵列的写操作过程。在第二个写操作行激活命令下发之前,需要等待预设激活命令时间,第一个写操作也在等待行有效到写操作有效命令发出的时间间隔(也就是说,通过这样设置,tRRD和tRCD有重复,能够减少总的等待时间),以此类推,第三个写操作行激活命令下发之前,需要等待预设激活命令时间,第二个写操作也在等待行有效到写操作有效命令发出的时间间隔。通过这样,虽然,单独每一笔数据传输的时间周期没有改变,但是,在等待的无效时间里,插入了其他操作,使无效时间相互重叠了一部分,从而减少了所有数据传输的总时间。读操作与写操作过程类似,在此不再赘述。
参照图2,在本申请的一些实施例中,写操作过程包括但不限于步骤S1400、步骤S1500和步骤S1600。
步骤S1400:根据写请求输出与写请求对应的第一激活信号,根据第一激活信号激活第一激活信号对应的存储阵列和存储阵列的行地址,并根据第一激活信号将地址总线配置为bank地址和行地址;
步骤S1500:根据预设选通延迟时间输出与写请求对应的第一操作信号,根据第一操作信号选中存储阵列中的列地址,并根据第一操作信号将地址总线配置为列地址;
步骤S1600:根据预设写操作潜伏时间将写请求对应的第一数据写入地址总线选中的地址中。
接收到写请求并且判断第一存储器的存储状态为非满时,下发与写请求对应的第一激活信号,并且激活本次写请求所要执行写操作对应的存储阵列(bank)和存储阵列的行地址,将地址总线的bank线和行地址线配置为与本次写操作对应的bank地址编号和行地址编号;在延时等待预设选通延迟时间(tRCD)后,下发第一操作信号,并根据第一操作信号选中存储阵列中的列地址,并将地址总线中的列地址线配置为与本次写操作对应的列地址编号。在bank地址编号、行地址编号和列地址编号均确定后,在等待预设写操作潜伏时间(在本实施例中,预设写操作潜伏时间为写操作潜伏期,tWL)后,将本次写请求对应的第一数据写入地址总线选中的地址中。
在本申请的一些实施例中,预设激活命令时间为4个时钟周期,预设选通延迟时间为9个时钟周期,预设写操作潜伏时间为7个时钟周期,预设读操作延迟时间为9个时钟周期。即tRRD=4clk,tRCD=9clk,tWL=7clk,tCL=9clk,其中,clk为时钟周期。
参照图3,具体地,在进行写操作时,若收到写请求,则判断DDR写数据FIFO存储器,若DDR写数据FIFO存储器为非满状态,则将数据首先缓存进入DDR写数据FIFO存储器中,再按照图3的时序逻辑进行写操作。图3中以burst长度为8,控制器与接口频率1:4模式,38个写时钟周期,38个读时钟周期为例进行说明,ACT(Active)表示激活命令,Bank表示Bank地址编号,0表示第一笔数据,1表示第二笔数据,以此类推,DQ表示I/O口,Address表示地址,Command表示命令。写入第一笔数据时,发出对应的行ACT,地址总线置为Bank地址和行地址,间隔tRRD时间后,发出第二笔数据对应的行ACT,以此类推,直到操作次数与burst长度一致,执行完以后,DDR状态回到空闲状态。在每笔数据发出对应的行ACT后,间隔tRCD后发送对应的写ACT,并将地址总线置为列地址,同时写操作伴随着自动预充电命令。间隔tWL时间后,数据总线置为需要写入DDR的数据。通过这样设置,在写操作时,38个时钟周期,有16个时钟周期为有效数据占用的周期,因此,随机寻址操作DDR的写效率能达到将近42.1%,提高了DDR的随机寻址的效率。
需要说明的是,DDR状态包括写控制状态、刷新控制状态、读控制状态和空闲状态。
参照图4,在本申请的一些实施例中,读操作过程包括但不限于步骤S1700、步骤S1800和步骤S1900。
步骤S1700:根据读请求输出与读请求对应的第二激活信号,根据第二激活信号激活第二激活信号对应的存储阵列和存储阵列的行地址,并根据第二激活信号将地址总线配置为bank地址和行地址;
步骤S1800:根据预设选通延迟时间输出与读请求对应的第二操作信号,根据第二操作信号选中存储阵列中的列地址,并根据第二操作信号将地址总线配置为列地址;
步骤S1900:根据预设读操作延迟时间从地址总线选中的地址中读取第二数据。
接收到读请求并且判断第二存储器的存储状态为非空时,下发与读请求对应的第二激活信号,并且激活本次读请求所要执行读操作对应的存储阵列(bank)和存储阵列的行地址,将地址总线的bank线和行地址线配置为与本次读操作对应的bank地址编号和行地址编号;在延时等待预设选通延迟时间(tRCD)后,下发第二操作信号,并根据第一操作信号选中存储阵列中的列地址,并将地址总线中的列地址线配置为与本次读操作对应的列地址编号。在bank地址编号、行地址编号和列地址编号均确定后,在等待预设读操作延迟时间(在本实施例中,预设读操作延迟时间为列地址脉冲选通潜伏期,tCL)后,从地址总线选中的地址中读取出第二数据。
参照图3,具体地,在进行读操作时,若收到读请求,则判断DDR写数据FIFO存储器,若DDR写数据FIFO存储器为非空状态,直接进行读操作。读取第一笔数据时,发出对应的行ACT,地址总线置为Bank地址和行地址,间隔tRRD时间后,发出第二笔数据对应的行ACT,以此类推,直到操作次数与burst长度一致,执行完以后,DDR状态回到空闲状态。在每笔数据发出对应的行ACT后,间隔tRCD后发送对应的读ACT,并将地址总线置为列地址,同时读操作伴随着自动预充电命令。间隔tCL时间后,数据总线置为需要写入DDR的数据。通过这样设置,在写操作时,38个时钟周期,有16个时钟周期为有效数据占用的周期,因此,随机寻址操作DDR的读效率能达到将近42.1%,提高了DDR的随机寻址的效率。
在本申请的一些实施例中,随机寻址读写控制方法还包括但不限于步骤S2000和步骤S2100。
步骤S2000:若第一存储状态为满状态,第一存储器输出与满状态对应的第一信号,并根据第一信号阻止写请求对应的写操作过程;
步骤S2100:若第二存储状态为空状态,第二存储器输出与空状态对应的第二信号,并根据第二信号阻止读请求对应的读操作过程。
通过这样设置,能够在DDR写数据FIFO存储器已满或将要满时输出第一信号信号,阻止FIFO的写操作继续向FIFO中写数据而造成溢出。在DDR读数据FIFO存储器已空或将要空时由FIFO输出第二信号,阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出。
在本申请的一些实施例中,随机寻址读写控制方法还包括但不限于步骤S2200。
步骤S2200:接收复位信号,并根据复位信号进行初始化操作。
其中,复位信号在上电时产生,接收到复位信号后进行初始化操作,且初始化操作包含对DDR复位信号的操作、时钟使能信号的操作、对DDR芯片模式寄存器的配置以及校准命令的执行等流程和时序控制。当DDR初始化操作完成后,DDR进入空闲状态。
在本申请的一些实施例中,随机寻址读写控制方法还包括但不限于步骤S2300。
步骤S2300:接收刷新请求信号,并根据刷新请求信号进行刷新操作,刷新请求信号由内部定时器根据预设刷新周期定时产生。
DDR处于自刷新状态时,CPU无法访问DDR数据,DDR数据不丢失,但DDR功耗会比正常使用时低很多。
参照图5,第二方面,本申请还提出了一种随机寻址读写控制系统,包括接收获取模块100、判断模块200、写入模块300和读取模块400。
接收获取模块100用于接收读请求和写请求,并根据写请求获取写请求对应的第一存储器的第一存储状态;接收获取模块100还用于根据读请求获取读请求对应的第二存储器的第二存储状态。
判断模块200用于判断第一存储状态,以输出第一判断结果;判断模块200还用于判断第二存储状态,以输出第二判断结果。
写入模块300用于根据第一判断结果和写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程。
读取模块400用于根据读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的读操作过程,并输出读操作过程读取的数据。
本申请实施例的随机寻址读写控制系统,通过将每一次写操作或者每一次读操作的激活命令以预设激活命令时间循环插入上次写操作或上次读操作的延迟等待时间中,能够降低后续写操作和读操作的延迟等待时间,从而提高了DDR随机寻址的读操作和写操作的效率。
本申请的随机寻址读写控制系统的处理方式与前述的随机寻址读写控制方法一致,具体的操作流程请参照前述的随机寻址读写控制方法,在此不再赘述。
第三方面,本申请实施例还提供了计算机可读存储介质。
在一些实施例中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于执行第一方面实施例中提到的随机寻址读写控制方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,比如,被上述电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述随机寻址读写控制方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。此外,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
Claims (10)
1.随机寻址读写控制方法,其特征在于,包括:
接收读请求和写请求,并根据所述写请求获取所述写请求对应的第一存储器的第一存储状态;
根据所述读请求获取所述读请求对应的第二存储器的第二存储状态;
若所述第一存储状态为非满状态,根据所述写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程;
若所述第二存储状态为非空状态,根据所述读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的所述读操作过程,并输出所述读操作过程读取的数据。
2.根据权利要求1所述的随机寻址读写控制方法,其特征在于,所述写操作过程包括:
根据所述写请求输出与所述写请求对应的第一激活信号,根据所述第一激活信号激活所述第一激活信号对应的存储阵列和所述存储阵列的行地址,并根据所述第一激活信号将地址总线配置为bank地址和行地址;
根据预设选通延迟时间输出与所述写请求对应的第一操作信号,根据所述第一操作信号选中所述存储阵列中的列地址,并根据所述第一操作信号将所述地址总线配置为列地址;
根据预设写操作潜伏时间将所述写请求对应的第一数据写入所述地址总线选中的地址中。
3.根据权利要求2所述的随机寻址读写控制方法,其特征在于,所述读操作过程包括:
根据所述读请求输出与所述读请求对应的第二激活信号,根据所述第二激活信号激活所述第二激活信号对应的存储阵列和所述存储阵列的行地址,并根据所述第二激活信号将地址总线配置为bank地址和行地址;
根据预设选通延迟时间输出与所述读请求对应的第二操作信号,根据所述第二操作信号选中所述存储阵列中的列地址,并根据所述第二操作信号将所述地址总线配置为列地址;
根据预设读操作延迟时间从所述地址总线选中的地址中读取第二数据。
4.根据权利要求1至3中任意一项所述的随机寻址读写控制方法,其特征在于,所述控制方法还包括:
若所述第一存储状态为满状态,第一存储器输出与所述满状态对应的第一信号,并根据所述第一信号阻止所述写请求对应的写操作过程。
5.根据权利要求1至3中任意一项所述的随机寻址读写控制方法,其特征在于,所述控制方法还包括:
若所述第二存储状态为空状态,第二存储器输出与所述空状态对应的第二信号,并根据所述第二信号阻止所述读请求对应的读操作过程。
6.根据权利要求1所述的随机寻址读写控制方法,其特征在于,所述控制方法还包括:
接收复位信号,并根据所述复位信号进行初始化操作。
7.根据权利要求1所述的随机寻址读写控制方法,其特征在于,所述控制方法还包括:
接收刷新请求信号,并根据所述刷新请求信号进行刷新操作,所述刷新请求信号由内部定时器根据预设刷新周期定时产生。
8.根据权利要求3所述的随机寻址读写控制方法,其特征在于,所述预设激活命令时间为4个时钟周期,所述预设选通延迟时间为9个时钟周期,所述预设写操作潜伏时间为7个时钟周期,所述预设读操作延迟时间为9个时钟周期。
9.随机寻址读写控制系统,其特征在于,包括:
接收获取模块,所述接收获取模块用于接收读请求和写请求,并根据所述写请求获取所述写请求对应的第一存储器的第一存储状态;
所述接收获取模块还用于根据所述读请求获取所述读请求对应的第二存储器的第二存储状态;
写入模块,所述写入模块用于当所述第一存储状态为非满状态时,根据所述写请求以预设激活命令时间循环执行存储阵列的写操作过程直至完成预设阵列数的存储阵列的写操作过程;
读取模块,所述读取模块用于当所述第二存储状态为非空状态时,根据所述读请求以预设激活命令时间循环执行存储阵列的读操作过程直至完成预设阵列数的存储阵列的读操作过程,并输出所述读操作过程读取的数据。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8中任意一项所述的随机寻址读写控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555031.3A CN113299328B (zh) | 2021-05-21 | 2021-05-21 | 随机寻址读写控制方法、控制系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110555031.3A CN113299328B (zh) | 2021-05-21 | 2021-05-21 | 随机寻址读写控制方法、控制系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113299328A CN113299328A (zh) | 2021-08-24 |
CN113299328B true CN113299328B (zh) | 2024-07-09 |
Family
ID=77323354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110555031.3A Active CN113299328B (zh) | 2021-05-21 | 2021-05-21 | 随机寻址读写控制方法、控制系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113299328B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554097A (zh) * | 2001-07-13 | 2004-12-08 | 具有用于读写操作的不同突发顺序寻址的存储器件 | |
CN108139994A (zh) * | 2016-05-28 | 2018-06-08 | 华为技术有限公司 | 内存访问方法及内存控制器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600605A (en) * | 1995-06-07 | 1997-02-04 | Micron Technology, Inc. | Auto-activate on synchronous dynamic random access memory |
US5956748A (en) * | 1997-01-30 | 1999-09-21 | Xilinx, Inc. | Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization |
US6233646B1 (en) * | 1998-08-28 | 2001-05-15 | Electronics And Telecommunications Research Institute | Memory interface controller |
US6829682B2 (en) * | 2001-04-26 | 2004-12-07 | International Business Machines Corporation | Destructive read architecture for dynamic random access memories |
US6931478B2 (en) * | 2002-02-06 | 2005-08-16 | International Business Machines Corporation | Implicit addressing sequential media drive with intervening converter simulating explicit addressing to host applications |
CN100511470C (zh) * | 2004-11-29 | 2009-07-08 | 中兴通讯股份有限公司 | 双倍速动态随机存取存储器的读写方法 |
KR101936311B1 (ko) * | 2010-12-03 | 2019-01-09 | 삼성전자주식회사 | 데이터 처리 방법 |
US8843805B1 (en) * | 2012-03-16 | 2014-09-23 | Juniper Networks, Inc. | Memory error protection using addressable dynamic ram data locations |
-
2021
- 2021-05-21 CN CN202110555031.3A patent/CN113299328B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554097A (zh) * | 2001-07-13 | 2004-12-08 | 具有用于读写操作的不同突发顺序寻址的存储器件 | |
CN108139994A (zh) * | 2016-05-28 | 2018-06-08 | 华为技术有限公司 | 内存访问方法及内存控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN113299328A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6396515B2 (ja) | 有向自動リフレッシュ同期 | |
US7433258B2 (en) | Posted precharge and multiple open-page RAM architecture | |
US7778099B2 (en) | Semiconductor memory, memory system, and memory access control method | |
US6665224B1 (en) | Partial refresh for synchronous dynamic random access memory (SDRAM) circuits | |
KR100273725B1 (ko) | 동기식 다이나믹 랜덤 액세스 메모리의 자동 활성화 | |
US9978430B2 (en) | Memory devices providing a refresh request and memory controllers responsive to a refresh request | |
US6073223A (en) | Memory controller and method for intermittently activating and idling a clock signal for a synchronous memory | |
US5889714A (en) | Adaptive precharge management for synchronous DRAM | |
KR101120305B1 (ko) | 부분 메모리 리프레시를 위한 방법, 장치 및 시스템 | |
JP5103663B2 (ja) | メモリ制御装置 | |
JPH04230544A (ja) | ダイナミックメモリシステムのタイミングを動的に設定するデータ処理装置 | |
JP2001283587A (ja) | エンハンスド・バス・ターンアラウンド集積回路ダイナミック・ランダム・アクセス・メモリ装置 | |
US11216386B2 (en) | Techniques for setting a 2-level auto-close timer to access a memory device | |
JPH04219692A (ja) | メモリカード | |
CN102945213A (zh) | 一种基于fpga的乱序内存控制器及其实现方法 | |
US5253214A (en) | High-performance memory controller with application-programmable optimization | |
CN100511470C (zh) | 双倍速动态随机存取存储器的读写方法 | |
US7254090B2 (en) | Semiconductor memory device | |
CN113299328B (zh) | 随机寻址读写控制方法、控制系统及存储介质 | |
US20060236007A1 (en) | Apparatus to improve bandwidth for circuits having multiple memory controllers | |
KR20220113850A (ko) | 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법 | |
US20230317182A1 (en) | Dynamic program caching | |
CN115374030A (zh) | 具有存储器发起的命令插入的存储器以及相关联系统、装置和方法 | |
US20240345972A1 (en) | Methods, devices and systems for high speed transactions with nonvolatile memory on a double data rate memory bus | |
CN214253209U (zh) | 一种sdram控制器用户接口模块ip核 |
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 |