CN112069095B - Ddr3读写传输方法和装置 - Google Patents
Ddr3读写传输方法和装置 Download PDFInfo
- Publication number
- CN112069095B CN112069095B CN202010941796.6A CN202010941796A CN112069095B CN 112069095 B CN112069095 B CN 112069095B CN 202010941796 A CN202010941796 A CN 202010941796A CN 112069095 B CN112069095 B CN 112069095B
- Authority
- CN
- China
- Prior art keywords
- ddr3
- read
- write
- data
- module
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
Abstract
本申请涉及一种DDR3读写传输方法,包括向DDR3存储模块内写入数据的过程;其中,向DDR3存储模块内写入数据的过程包括:每一路DMA写数据通道内所配置的RAM将满状态输出至DDR3写模块;其中,满状态用于表征RAM能够缓存的最大数据量;DDR3写模块接收每一路的RAM输出的满状态,并根据每一路RAM所输出的满状态的当前标志,进行数据向DDR3存储模块的写入。其在进行数据的写操作时,通过在每一路DDR3写数据通道内均配置一个RAM,并对各RAM均设置满状态标志,从而在进行写操作时,能够采用突发模式将该路RAM中缓存的数据统一写入至DDR3存储模块,从而有效提高了数据的写入速度。
Description
技术领域
本申请涉及存储器技术领域,尤其涉及一种DDR3读写传输方法和装置。
背景技术
DDR3 SDRAM作为第三代双倍速率同步动态随机存储器,具有容量大,速度快,低功耗的优势,在计算机、电子通信等领域得到了广泛应用。但是,目前现有的DDR3读写存在大量读写冲突问题,并且DDR3多路同时读写控制相对较弱,这就使得目前现有的DDR3在读写传输上频率较低,运行速度较慢,使得DDR3不能灵活的应用到产品设计中。
发明内容
有鉴于此,本申请提出了一种DDR3读写传输方法,可以有效提高DDR3数据读写速率,使得DDR3能够灵活应用到产品设计中。
根据本申请的一方面,提供了一种DDR3读写传输方法,包括向DDR3存储模块内写入数据的过程;其中,向所述DDR3存储模块内写入数据的过程包括:
每一路DMA写数据通道内所配置的RAM将满状态输出至DDR3写模块;其中,所述满状态用于表征所述RAM能够缓存的最大数据量;
所述DDR3写模块接收每一路的所述RAM输出的所述满状态,并根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入。
在一种可能的实现方式中,所述DDR3写模块根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入时,包括:
在所述满状态的当前标志为高时,由所述DDR3写模块将所述RAM内所缓存的数据全部写入至所述DDR3存储模块。
在一种可能的实现方式中,向所述DDR3存储模块内写入数据的过程还包括:
每一路所述DMA写数据通道内所配置的所述RAM输出写完成标志至所述DDR3写模块;
所述DDR3写模块接收所述写完成标志,并根据所述写完成标志进行向所述DDR3存储模块写入数据的结束的控制。
在一种可能的实现方式中,所述DDR3写模块根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入时,包括:
在所述满状态的当前标志为高时,停止FIFO向所述RAM输出数据的过程。
在一种可能的实现方式中,还包括:由所述DDR3存储模块读取数据的过程;其中,由所述DDR3存储模块读取数据的过程包括:
所述DDR3读模块接收读请求状态,并在接收到的所述读请求状态为高时进入读状态,由所述DDR3存储模块读取数据。
在一种可能的实现方式中,所述DDR3读模块由所述DDR3存储模块读取数据时,包括:
所述RAM输出写状态标志至DDR3读模块;
所述DDR3读模块接收所述写状态标志,并根据所述写状态标志控制所述读状态;
其中,在所述写状态标志为高时,控制所述读状态进入暂停模式;
在所述写状态为低时,控制进入所述读状态,由所述DDR3存储模块读取数据至配置在读数据通道内的FIFO中。
在一种可能的实现方式中,所述DDR3读模块由所述DDR3存储模块读取数据时,包括:
所述DDR3读模块接收读完成标志,并在接收到的所述读完成状态标志为高时退出所述读状态,停止当前由所述DDR3存储模块读取数据的操作。
根据本申请的另一方面,还提供了一种DDR3读写传输装置,包括DDR3存储模块、DDR3写模块和两路以上的DDR3写数据通道;
其中,每一路所述DDR3写数据通道内均配置有RAM,各所述RAM均通信连接至所述DDR3写模块;
所述DDR3写模块通过MCB写接口与所述DDR3存储模块通信连接;
其中,各所述RAM均对应设置有用于表征数据存储量的满状态标志;
所述DDR3写模块,被配置为接收每一路的所述RAM的输出的所述满状态,并根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入。
在一种可能的实现方式中,还包括DDR3读模块和两路以上的DDR3读数据通道;
所述DDR3读模块通过MCB读接口与所述DDR3存储模块通信连接;
每一路所述DDR3读数据通道内均配置有FIFO,所述DDR3读模块与每一路所述DDR3读数据通道内所配置的所述FIFO通信连接;
所述DDR3读模块,被配置为接收读请求状态,并在接收到的所述读请求状态为高时进入读状态,由所述DDR3存储模块读取数据。
在一种可能的实现方式中,所述DDR3存储模块包括DDR3芯片模组和DDR3接口IP核;
所述DDR3芯片模组包括两片以上的DDR3芯片,两片以上的DDR3芯片组成存储阵列;
所述DDR3芯片模组通过多组DQS数据线、地质组、读写控制组和时钟组与所述DDR3接口IP核连接;
所述DDR3接口IP核配置有MCB地址线、MCB命令线、DDR3可操作使能、MCB写使能线、MCB写数据线、MCB读使能线和MCB读数据线。
本申请实施例的DDR3读写传输方法中,在进行数据的写操作时,通过在每一路DDR3写数据通道内均配置一个RAM,并对各RAM均设置满状态标志,从而在进行写操作时,由DDR3写模块对每一路写数据通道中的RAM输出的满状态进行判断,在判断出满状态为高(即,写数据通道中RAM缓存的数据量达到满额)时,采用突发模式将该路RAM中缓存的数据统一写入至DDR3存储模块,从而有效提高了数据的写入速度。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出本申请实施例的DDR3读写传输装置的结构图;
图2示出本申请实施例的DDR3读写传输方法中进行数据写入时的流程图;
图3示出本申请实施例的DDR3读写传输方法中进行数据读取时的流程图;
图4示出本申请实施例的DDR3读写传输装置中的DDR3存储模块的结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
首先,需要说明的是,本申请实施例的DDR3读写传输方法,是基于FPGA实现的。其中,在基于FPGA实现DDR3读写传输方法时,需要构建相应的DDR3 DMA模块。参阅图1,本申请实施例的DDR3读写传输方法中所构建的DDR3 DMA模块主要包括五部分:DDR3存储模块110,DDR3写模块120和两路以上的DDR3写数据通道130,DDR3读模块150以及两路以上的DDR3读数据通道160。
具体的,两路以上的DDR3写数据通道130中,每一路写数据通道130内均配置有RAM,并且所配置的RAM均通信连接DDR3写模块120。DDR3写模块120与DDR3存储模块110则通过MCB写接口140通信连接。
两路以上的DDR3读数据通道160中,每一路读数据通道160内则均配置有FIFO,用于缓存DDR3读模块150由DDR3存储模块110读出的数据。其中,DDR3读模块150与DDR3存储模块110则通过MCB读接口170通信连接。
具体的,在本申请实施例的DDR3读写传输方法中,所构建的DDR3DMA模块,在每一路DDR3写数据通道130中配置RAM,使得RAM进行一定量的写数据的缓存,从而使得DDR3写模块120在进行向DDR3存储模块110内写入数据时能够使用突发模式,将RAM缓存的数量一次性写入到DDR3存储模块110内,以提高写入速度。其中,每一路DDR3写数据通道130内配置的RAM可以为一片,也可以为两片以上,此处不进行具体限定。
DDR3写模块120则是用于写入多路DDR3写数据通道130的数据,保证DDR3在突发工作模式传输数据最快。其中,DDR3写模块120会自动判断每一路DDR3写数据通道130内的RAM缓存的数据量,在写数据通道130内RAM缓存的数据量达到一定量时,统一将RAM内缓存的数据写入DDR3存储模块110。
DDR3读模块150则适用于操作MCB读通道,读出存储在DDR3存储模块110内的数据。其中,由于在本申请实施例的DDR3读写传输方法中,所构建的DDR3 DMA模块中设置了两路以上的DDR3读数据通道160,因此在DDR3读模块150读取DDR3存储模块110内部的数据时,可以通过不同的地址切换来进行不同的DDR3读数据通道160的数据读取。
同时,DDR3读模块150还会检测DDR3写模块120的状态,在DDR3写模块120在进行写数据操作时,DDR3读模块150则执行暂停读取数据的操作,由读状态切换为暂停状态,使得写数据操作优先完成。
两路以上的DDR3读数据通道160中,每一路DDR3读数据通道160内都含有FIFO,通过FIFO对读取出的数据进行缓存,从而保证输出数据的连续性。
相应的,基于上述所构建的DDR3 DMA模块,本申请实施例的DDR3读写传输方法中向DDR3存储模块110内写入数据的过程包括:步骤S100,每一路DMA写数据通道130内所配置的RAM将满状态输出至DDR3写模块120。其中,满状态用于表征RAM当前缓存的数据量。步骤S200,DDR3写模块120接收每一路的RAM输出的满状态,并根据每一路RAM所输出的满状态的当前标志,进行数据向DDR3存储模块110的写入。
其中,在一种可能的实现方式中,每一路DDR3写数据通道130内还包含有FIFO,同时配置在每一路DDR3写数据通道130内的RAM为双口RAM,该双口RAM通信连接在FIFO与DDR3写模块120之间。
具体的,向DDR3存储模块110内写入数据时,DDR3写模块120以状态机方式操作的写数据先写入FIFO进行缓存和时钟转换,然后再写入双口RAM,双口RAM输出多个状态,指示写逻辑进行写操作。
此处,需要说明的是,RAM的状态包括用于表征RAM能够缓存的最大数据量的满状态、用于表征RAM的当前模式的写状态,以及用于表征RAM当前数据是否写完的写完成状态。
其中,在一种可能的实现方式中,RAM的满状态标志为高时,表明RAM当前缓存的的数据量已经达到满额,在RAM的满状态标志为低时,表明RAM当前缓存的数据量还未写满。
由此,在本申请实施例的DDR3读写传输方法中,每一路DDR写数据通道130内的RAM输出满状态至DDR3写模块120后,DDR3写模块120根据每一路RAM所输出的满状态的当前标志,进行数据向DDR3存储模块110的写入时,可以通过检测各路DDR3写数据通道130内RAM的满状态,在检测出存在一路写数据通道130内的RAM的满状态的当前标志为高时,则由DDR3写模块120将该路的RAM内所缓存的数据全部写入至DDR3存储模块110。
此外,由于在本申请所构建的DDR3 DMA模块中,每一路DDR写数据通道130内还可以包含有FIFO,因此在进行向DDR3存储模块110写数据的操作时,还包括DDR3写模块120在检测到满状态为高时,还需要停止FIFO向RAM输出数据的过程,以保证RAM内的数据能够顺利地写入至DDR3存储模块110内。
进一步的,写状态标志为高时,表明RAM当前处于未向DDR3写模块120写入数据的模式,可以启动读逻辑,进行DDR3存储模块110的读数据操作;写状态标志为低时,表明RAM当前正处于向DDR3写模块120写入数据的模式。
更进一步的,写完成状态标志为高时,表明RAM内缓存的数据已经由DDR3写模块120全部写入到DDR3存储模块110,此时可以通知写逻辑完成,退出写逻辑;写完成状态标志为低时,表明RAM内缓存的数据还未全部写入到DDR3存储模块110。
更加具体的,为了更清楚的说明本申请实施例的DDR3读写传输方法的写数据操作,以下以一具体实施例进行详细说明。
参阅图2,在DDR3写模块120向DDR3存储模块110写数据时,首先通过步骤S100,每一路DDR3写数据通道130中的RAM均向DDR3写模块120输出当前的满状态,DDR3写模块120接收多路写数据通道130中RAM输出的满状态后,通过步骤S210,DDR3写模块120对每一路写数据通道130的满状态进行检测判断,在检测出其中一路或几路写数据通道130的满状态的标志为高时,停止该路写数据通道130中FIFO向RAM输出数据的过程,并启动写数据操作,执行步骤S220,由DDR3写模块120将该路的RAM内的数据统一写入到DDR3存储模块110。在检测出每一路写数据通道130的满状态均为低时,表明每一路写数据通道130内RAM当前缓存的数据量还未达到要求,因此可以控制每一路写数据通道130继续执行FIFO向RAM写数据的操作,即,步骤S002,控制每一路写数据通道130均处于SQ态,进行数据的加载和缓存。
同时,在DDR3写模块120将满状态标志为高的写数据通道130中RAM内的数据写入到DDR3存储模块110的过程中,该路写数据通道130的RAM同时还会向DDR3写模块120输出写完成标志,DDR3写模块120接收到该路写数据通道130中RAM输出的写完成标志后,执行步骤S310,根据接收到的写完成标志判断该路数据是否写完,在判断出该路数据已全部写完(即,写完成标志为高)时,则执行步骤S320,通知写逻辑完成写操作,退出该路数据的写操作过程,并返回检测逻辑状态。
其中,还需要说明的是,在DDR3写模块120检测出当前存在多路写数据通道130的满状态为高时,DDR3写模块120在将满状态为高的多路写数据通道130中RAM内缓存的数据写入到DDR3存储模块110中时,可以按照预设逻辑通过地址切换的方式进行每一路数据的依次写入。
由此,本申请实施例的DDR3读写传输方法中,在进行数据的写操作时,通过在每一路DDR3写数据通道130内均配置一个RAM,并对各RAM均设置满状态标志,从而在进行写操作时,由DDR3写模块120对每一路写数据通道130中的RAM输出的满状态进行判断,在判断出满状态为高(即,写数据通道130中RAM缓存的数据量达到满额)时,采用突发模式将该路RAM中缓存的数据统一写入至DDR3存储模块110,从而有效提高了数据的写入速度。
此外,在本申请实施例的DDR3读写传输方法中,还包括由DDR3存储模块110读取数据的过程。在一种可能的实现方式中,由DDR3存储模块110读取数据的过程包括:DDR3读模块150接收读请求状态,并在接收到的读请求状态为高时进入读状态,由DDR3存储模块110读取数据。
也就是说,本申请实施例的DDR3读写传输方法中进行数据读取的操作时,通过前面所述的构建的DDR3 DMA模块的结构,由DDR3读模块150进行读请求状态的接收,在读请求状态标志为高时,表明当前接收到的读请求状态处于有效触发的状态,从而使得DDR3读模块150的读逻辑由检测状态进入到读状态,进而根据读请求状态进行相应数据的读取。
其中,应当指出的是,每一路DDR3读请求数据通道对应一条读请求状态。不同的读请求状态可以通过不同的读请求通道地址进行区分识别。同时,本领域技术人员还可以理解的是,DDR3读模块150还可以同时接收多条读请求状态,并在接收到的读请求状态中存在两条以上标志为高时的读请求组状态时,可以通过地址切换的方式依次进行每条读请求状态所对应的数据读取操作。
进一步的,在DDR3读模块150由DDR3存储模块110读取数据时,为了避免产生读写冲突,在本申请实施例的DDR3读写传输方法中,每一路的DDR3写数据通道130中的RAM还同时输出写状态标志至DDR读模块。其中,写状态用于表征其所对应的DDR3写数据通道130中RAM的当前是否正在向DDR3存储模块110内写入数据的状态。DDR3读模块150接收每一路写数据通道130中RAM输出的写状态,并检测判断写状态的标志,在判断出每一路写数据通道130的写状态标志为低时,表明此时DDR3写模块120并未进行写数据操作,可以进行数据读取的操作。因此可以进入读状态。在判断出存在一路或几路写数据通道130的写状态标志为高时,则表明此时DDR3写模块120要进行写操作,因此由读状态切换为暂停模式,待DDR3写模块120完成写操作,退出写逻辑之后再切换为读状态,进行相应数据的读取。
进一步的,在一种可能的实现方式中,DDR3读模块150由DDR3存储模块110读取数据时,还包括:DDR3读模块150接收读完成标志,并在接收到的读完成状态标志为高时退出读状态,停止当前由DDR3存储模块110读取数据的操作。
也就是说,本申请实施例的DDR3读写传输方法中进行数据读取的操作时,通过设置读请求状态,写状态和读完成状态三个状态,由这三个状态进行DDR3读模块150的控制,这就使得用户在进行数据读取时,可以通过在读请求状态中的读请求中根据实际需要设置当前所需要读取的数据量的大小,从而DDR3读模块150在进行数据的读取时,能够根据读请求状态中用户所标记的数据量进行相应的数据读取,这也就有效提高了数据读取时的灵活性。
具体的,为了更清楚地说明本申请实施例的DDR3读写传输方法中数据读取操作的流程,以下同样以一具体实施例进行详细说明。
参阅图3,在进行数据读取的操作时,首先通过步骤S100’,由DDR3读模块150接收读请求状态,并对读请求状态的标志进行检测判断。在检测出当前接收到的读请求状态标志为高时,此时则可以执行步骤S210’,进行相应的DDR3读数据通道160的数据读取。
其中,在进行相应的DDR3读数据通道160的数据读取时,还需要执行步骤S210”,接收每一路DDR3写数据通道130中RAM输出的写状态,并检测判断写状态标志是否为低。在检测出写状态均为低时,则执行步骤S210’,由DDR3读模块150由DDR3存储模块110中进行相应的数据读取。在检测出写状态中存在标志为高的情况时,则此时DDR3读模块150由读状态进入暂停模式,等待DDR3写模块120进行数据写操作。
同时,DDR3读模块150在执行步骤S210’,进行数据的读取过程中,还实时接收读完成状态,在接收到读完成状态后,执行步骤S310’,检测判断读完成状态的标志。在检测出读完成标志为高时,表明此时数据已完成读取操作,因此可以通过步骤S320’,使得DDR3读模块150退出读状态,进入读完成状态。在未接收到读完成状态或读完成状态标志为低时,表明此时数据读取还未完成,因此需要继续执行步骤S210’,进行数据的读取操作。
其中,在一种可能的实现方式中,在DDR3读模块150接收到读完成状态,读完成标志为高时,DDR3读模块150退出读状态,进入读完成状态后进行短暂的延时之后,即可从读完成状态转入读请求检测状态,以等待下一个读状态的触发。其中,由读完成状态转入读请求状态的间隔时间可以根据实际需要进行设置,如:可设置为0.5s—3s之间的任意时间。优选的,可以设置为1s。
此外,还需要说明的是,在DDR3读模块150将数据由DDR3存储模块110读取出来之后,还可以通过在每一路DDR3读数据通道160中设置FIFO,使得DDR3读模块150将读取出来的数据缓存至相应的FIFO中,使得用户在进行数据的读出时能够由FIFO中进行读取,这也就有效保证了所读取出来的数据的连续性。
由此,本申请实施例的DDR3读写传输方法中,在进行数据读取的操作时,通过设置在DDR3 DMA模块中的DDR3读模块150接收用户发送的读请求(其中,读请求中包含有所要读取的数据量的大小),并在接收到读请求后,在读请求状态为高且DDR3写模块120未进行写操作时,进行相应的数据读取,使得所读取的数据能够根据实际情况进行数据量大小的设置,从而有效提高了数据读取的灵活性。并且,在进行数据的读取时,DDR3读模块150在读请求状态为高时进行数据的统一读取,这也就有效提高读取的速率。
即,本申请实施例的DDR3读写传输方法,通过在写数据中设置满状态、写状态和写完成状态三个状态,由DDR3写模块120进行这三个状态的检测来进行写数据操作的控制,在读数据中设置读请求状态、写状态和读完成状态这三个状态,由DDR3读模块150根据这三个状态进行读数据操作的控制,不仅使得写数据和读数据均可以采用突发模式来进行,从而有效提高了数据读写的速率。其中,采用本申请实施例的DDR3读写传输方法进行数据读写时,读写带宽传输效率能够达到满效率的95%。同时,还可以根据实际需要进行读数据的数据量的大小设置,有效提高了数据读取的灵活性。最终不仅有效提高了数据读写的传输效率和灵活性,还有效解决了多路DDR3输入输出功能,使得DDR3应用范围更大。
相应的,基于前面任一所述的DDR3读写传输方法,本申请还提供了一种DDR3读写传输装置100,即,前面所提及到的DDR3 DMA模块。其中,需要说明的是,参阅图1,本申请实施例提供的DDR3读写传输装置100,包括DDR3存储模块110、DDR3写模块120和两路以上的DDR3写数据通道130。
具体的,每一路DDR3写数据通道130内均配置有RAM,各RAM均通信连接至DDR3写模块120;DDR3写模块120通过MCB写接口140与DDR3存储模块110通信连接。此处,应当指出的是,各RAM均对应设置有用于表征数据存储量的满状态标志;DDR3写模块120,被配置为接收每一路的RAM的输出的满状态,并根据每一路RAM所输出的满状态的当前标志,进行数据向DDR3存储模块110的写入。
同时,在本申请实施例的DDR3读写传输装置100中,还包括DDR3读模块150和两路以上的DDR3读数据通道160。具体的,DDR3读模块150通过MCB读接口170与DDR3存储模块110通信连接;每一路DDR3读数据通道160内均配置有FIFO,DDR3读模块150与每一路DDR3读数据通道160内所配置的FIFO通信连接,以使FIFO对DDR3读模块150读出的数据进行缓存,保证输出数据的连续性;DDR3读模块150,被配置为接收读请求状态,并在接收到的读请求状态为高时进入读状态,由DDR3存储模块110读取数据。
其中,在一种可能的实现方式中,DDR3存储模块110可以通过两部分组成。即,参阅图4,DDR3存储模块110包括DDR3芯片模组111和DDR3接口IP核112。其中,DDR3芯片模组111包括两片以上的DDR3芯片,两片以上的DDR3芯片组成存储阵列。DDR3芯片模组111通过多组DQS数据111A线、地质组、读写控制组111c和时钟组111d与DDR3接口IP核112连接;DDR3接口IP核112配置有MCB地址线112A、MCB命令线112B、DDR3可操作使能112C、MCB写使能线112D、MCB写数据线112E、MCB读使能线112F和MCB读数据线112G。
也就是说,本申请实施例的DDR3存储模块110,第一部分为多片(如:2—4片)DDR3芯片组成的存储阵列,第二部分是FPGA内部的DDR3接口IP核112,DDR3核为MCB接口,DDR3_IP核112与DDR3芯片之间的连接方式可参阅图4:
DDR3芯片模组111由多组(可为4组)DQS数据111A线、地址组111b、读写控制组111c和时钟组111d与MCB接口相连接,由于DDR3芯片需要特殊的操作时序才能完成数据读写和存储,如:自刷新、行选通、列选通等,这些命令由DDR3_IP核112自动完成,并把读写接口转接到MCB接口上。
需要说明的是,尽管以图1至图4作为示例介绍了如上所述的DDR3读写传输方法和装置,但本领域技术人员能够理解,本申请应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定DDR3 DMA的结构及读写逻辑,只要能够达到提高读写速率和提高读写的灵活性即可。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (7)
1.一种DDR3读写传输方法,其特征在于,包括向DDR3存储模块内写入数据的过程;其中,向所述DDR3存储模块内写入数据的过程包括:
每一路DMA写数据通道内所配置的RAM将满状态输出至DDR3写模块;其中,所述满状态用于表征所述RAM能够缓存的最大数据量;
所述DDR3写模块接收每一路的所述RAM输出的所述满状态,并根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入;
还包括:由所述DDR3存储模块读取数据的过程;其中,由所述DDR3存储模块读取数据的过程包括:
所述DDR3读模块接收读请求状态,并在接收到的所述读请求状态为高时进入读状态,由所述DDR3存储模块读取数据;
其中,所述DDR3读模块由所述DDR3存储模块读取数据时,包括:
所述RAM输出写状态标志至DDR3读模块;
所述DDR3读模块接收所述写状态标志,并根据所述写状态标志控制所述读状态;
其中,在所述写状态标志为高时,控制所述读状态进入暂停模式;
在所述写状态为低时,控制进入所述读状态,由所述DDR3存储模块读取数据至配置在读数据通道内的FIFO中。
2.根据权利要求1所述的方法,其特征在于,所述DDR3写模块根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入时,包括:
在所述满状态的当前标志为高时,由所述DDR3写模块将所述RAM内所缓存的数据全部写入至所述DDR3存储模块。
3.根据权利要求1所述的方法,其特征在于,向所述DDR3存储模块内写入数据的过程还包括:
每一路所述DMA写数据通道内所配置的所述RAM输出写完成标志至所述DDR3写模块;
所述DDR3写模块接收所述写完成标志,并根据所述写完成标志进行向所述DDR3存储模块写入数据的结束的控制。
4.根据权利要求1所述的方法,其特征在于,所述DDR3写模块根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入时,包括:
在所述满状态的当前标志为高时,停止FIFO向所述RAM输出数据的过程。
5.根据权利要求1所述的方法,其特征在于,所述DDR3读模块由所述DDR3存储模块读取数据时,包括:
所述DDR3读模块接收读完成标志,并在接收到的所述读完成状态标志为高时退出所述读状态,停止当前由所述DDR3存储模块读取数据的操作。
6.一种DDR3读写传输装置,其特征在于,包括DDR3存储模块、DDR3写模块和两路以上的DDR3写数据通道;
其中,每一路所述DDR3写数据通道内均配置有RAM,各所述RAM均通信连接至所述DDR3写模块;
所述DDR3写模块通过MCB写接口与所述DDR3存储模块通信连接;
其中,各所述RAM均对应设置有用于表征数据存储量的满状态标志;
所述DDR3写模块,被配置为接收每一路的所述RAM的输出的所述满状态,并根据每一路所述RAM所输出的所述满状态的当前标志,进行数据向所述DDR3存储模块的写入;
还包括DDR3读模块和两路以上的DDR3读数据通道;
所述DDR3读模块通过MCB读接口与所述DDR3存储模块通信连接;
每一路所述DDR3读数据通道内均配置有FIFO,所述DDR3读模块与每一路所述DDR3读数据通道内所配置的所述FIFO通信连接;
所述DDR3读模块,被配置为接收读请求状态,并在接收到的所述读请求状态为高时进入读状态,由所述DDR3存储模块读取数据;
其中,所述DDR3读模块由所述DDR3存储模块读取数据时,包括:
所述RAM输出写状态标志至DDR3读模块;
所述DDR3读模块接收所述写状态标志,并根据所述写状态标志控制所述读状态;
其中,在所述写状态标志为高时,控制所述读状态进入暂停模式;
在所述写状态为低时,控制进入所述读状态,由所述DDR3存储模块读取数据至配置在读数据通道内的FIFO中。
7.根据权利要求6所述的装置,其特征在于,所述DDR3存储模块包括DDR3芯片模组和DDR3接口IP核;
所述DDR3芯片模组包括两片以上的DDR3芯片,两片以上的DDR3芯片组成存储阵列;
所述DDR3芯片模组通过多组DQS数据线、地址组、读写控制组和时钟组与所述DDR3接口IP核连接;
所述DDR3接口IP核配置有MCB地址线、MCB命令线、DDR3可操作使能、MCB写使能线、MCB写数据线、MCB读使能线和MCB读数据线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010941796.6A CN112069095B (zh) | 2020-09-09 | 2020-09-09 | Ddr3读写传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010941796.6A CN112069095B (zh) | 2020-09-09 | 2020-09-09 | Ddr3读写传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112069095A CN112069095A (zh) | 2020-12-11 |
CN112069095B true CN112069095B (zh) | 2022-01-28 |
Family
ID=73663130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010941796.6A Active CN112069095B (zh) | 2020-09-09 | 2020-09-09 | Ddr3读写传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069095B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113611102B (zh) * | 2021-07-30 | 2022-10-11 | 中国科学院空天信息创新研究院 | 基于fpga的多通道雷达回波信号传输方法及系统 |
CN115328822B (zh) * | 2022-08-19 | 2023-05-05 | 扬州宇安电子科技有限公司 | 一种基于ddr3的读写控制动态调度方法及其存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279309A (zh) * | 2013-05-15 | 2013-09-04 | 清华大学 | 基于fpga的ddr控制装置及方法 |
CN105677592A (zh) * | 2015-12-31 | 2016-06-15 | 北京经纬恒润科技有限公司 | 一种总线通信方法及系统 |
CN106525231A (zh) * | 2016-10-28 | 2017-03-22 | 中国科学技术大学 | 一种基于可编程逻辑器件的多光子符合计数器 |
CN111610934A (zh) * | 2020-05-22 | 2020-09-01 | 上海大骋医疗科技有限公司 | 一种ddr控制器及控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788963B (zh) * | 2010-03-18 | 2012-05-02 | 烽火通信科技股份有限公司 | Dram存储控制方法及装置 |
CN107133407B (zh) * | 2017-05-11 | 2020-07-10 | 成都欧飞凌通讯技术有限公司 | 一种高带宽下提高ddr ram接口带宽的fpga实现方法 |
-
2020
- 2020-09-09 CN CN202010941796.6A patent/CN112069095B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279309A (zh) * | 2013-05-15 | 2013-09-04 | 清华大学 | 基于fpga的ddr控制装置及方法 |
CN105677592A (zh) * | 2015-12-31 | 2016-06-15 | 北京经纬恒润科技有限公司 | 一种总线通信方法及系统 |
CN106525231A (zh) * | 2016-10-28 | 2017-03-22 | 中国科学技术大学 | 一种基于可编程逻辑器件的多光子符合计数器 |
CN111610934A (zh) * | 2020-05-22 | 2020-09-01 | 上海大骋医疗科技有限公司 | 一种ddr控制器及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112069095A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10811062B2 (en) | Deferred fractional memory row activation | |
US7782683B2 (en) | Multi-port memory device for buffering between hosts and non-volatile memory devices | |
US7447805B2 (en) | Buffer chip and method for controlling one or more memory arrangements | |
US8472263B2 (en) | Mode-register reading controller and semiconductor memory device | |
US8310897B2 (en) | Semiconductor memory device and data processing system including the semiconductor memory device | |
US20080162790A1 (en) | Nand flash memory having c/a pin and flash memory system including the same | |
CN112069095B (zh) | Ddr3读写传输方法和装置 | |
US20080172515A1 (en) | Memory controller connectivity | |
US6996016B2 (en) | Echo clock on memory system having wait information | |
US6396747B2 (en) | Semiconductor memory device capable of high speed input/output of wide bandwidth data by improving usage efficiency of external data bus | |
CN114207720B (zh) | 具有存储体分配的多端口非易失性存储器设备以及相关系统和方法 | |
US9613668B2 (en) | Semiconductor memory and memory system | |
US6469940B1 (en) | Memory access method and system for writing and reading SDRAM | |
US7042777B2 (en) | Memory device with non-variable write latency | |
JP2006040497A (ja) | 半導体記憶装置、不揮発性半導体記憶装置 | |
US11977777B2 (en) | Semiconductor device including relay chip | |
US7327766B2 (en) | Circuit configuration for receiving a data signal | |
TW202223671A (zh) | 記憶體系統 | |
JP2008129720A (ja) | 半導体記憶装置 |
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 |