CN105760315A - 一种提高同步动态随机存储器访问效率的方法及装置 - Google Patents

一种提高同步动态随机存储器访问效率的方法及装置 Download PDF

Info

Publication number
CN105760315A
CN105760315A CN201410778337.5A CN201410778337A CN105760315A CN 105760315 A CN105760315 A CN 105760315A CN 201410778337 A CN201410778337 A CN 201410778337A CN 105760315 A CN105760315 A CN 105760315A
Authority
CN
China
Prior art keywords
sdram
information
data
bank
control word
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.)
Withdrawn
Application number
CN201410778337.5A
Other languages
English (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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201410778337.5A priority Critical patent/CN105760315A/zh
Priority to PCT/CN2015/080773 priority patent/WO2016095451A1/zh
Publication of CN105760315A publication Critical patent/CN105760315A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种提高同步动态随机存储器(SDRAM)访问效率的方法,所述方法包括:接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。本发明还公开了一种提高SDRAM访问效率的装置。

Description

一种提高同步动态随机存储器访问效率的方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种提高同步动态随机存储器(SDRAM,SynchronousDynamicRandomAccessMemory)访问效率的方法及装置。
背景技术
随着网络技术的不断发展,对网络数据处理的要求也不断增加。一方面需要处理大容量的数据,另一方需要提高对数据的处理速度。传统的静态随机存储器(SRAM,StaticRandomAccessMemory)虽然处理速度很快,但存储的容量比较小,不能适用于当前大容量数据的处理。SDRAM正好弥补了SRAM的缺陷,它的存储载体主要是电容,通过充放电可以改变存储单元的状态,然而,由于各种漏电流的存在,存储电容的值不可能长时间保持,因此,SDRAM需要在一定时间内进行一个刷新操作,以保持电容的状态。
通常,提高SDRAM访问效率的方法是根据SRAM的特性,通过避免频繁换行或者是提前对其进行预充电(Precharge)等方法来提高其访问效率,然而,上述方法并不能满足实际网络中不同业务数据的不同转发需求;因此,如何依据实际网络数据的不同需求来提高SDRAM的访问效率已成为亟待解决的问题。
发明内容
有鉴于此,本发明实施例期望提供一种提高SDRAM访问效率的方法及装置,能够提高SDRAM的访问效率,且操作简单、灵活。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种提高同步动态随机存储器SDRAM访问效率的方法,所述方法包括:
接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。
上述方案中,所述第一控制字信息包括:存储块BANK复制信息、片选信息及BANK地址信息;
所述依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中包括:
依据所述第一控制字信息中的BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数。
上述方案中,所述将所述待写入数据写入相应的SDRAM组的SDRAM中之后,所述方法还包括:
接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中。
上述方案中,所述方法还包括:
当同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求。
上述方案中,所述第二控制字信息包括:BANK复制信息、片选信息及BANK地址信息;
所述读取所述SDRAM组的SDRAM中的数据包括:
依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据。
本发明实施例还提供了一种提高SDRAM访问效率的装置,所述装置包括:写模块及读模块;其中,
所述写模块,用于接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
所述读模块,用于接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。
上述方案中,所述第一控制字信息包括:存储块BANK复制信息、片选信息及BANK地址信息;
所述写模块,具体用于依据所述第一控制字信息中的BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数。
上述方案中,所述读模块,还用于接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中。
上述方案中,所述读模块,还用于同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求。
上述方案中,所述第二控制字信息包括:BANK复制信息、片选信息及BANK地址信息;
所述读模块,具体用于依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据。
本发明实施例所提供的提高SDRAM访问效率的方法及装置,接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。如此,依据接收的控制字信息进行相应的数据读写操作,实现了依据实际网络数据的不同需求来提高SDRAM的访问效率,且操作简单、灵活。
附图说明
图1本发明实施例一提高SDRAM访问效率的方法流程示意图;
图2为本发明实施例确定本次读取数据的BANK信息的示意图;
图3为本发明实施例对SDRAM轮询读取数据(图a)与同BANK换行读数据(图b)对比示意图;
图4本发明实施例二提高SDRAM访问效率的方法流程示意图;
图5为本发明实施例提高SDRAM访问效率的装置组成结构示意图。
具体实施方式
在本发明实施例中,接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。
图1为本发明实施例一提高SDRAM访问效率的方法流程示意图;如图1所示,本发明实施例提高SDRAM访问效率的方法流程包括:
步骤101:接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
这里,所述SDRAM组及每组中包含的SDRAM的数量均为预先设置的,可以包含多个SDRAM组,每组中包含相同数目的SDRAM,在一实施例中,每组SDRAM包含两片SDRAM;
服务器中的写模块接收中央处理器(CPU,CentralProcessingUnit)侧发送的写操作请求;所述写操作请求包括:第一控制字信息及待写入数据;这里,所述第一控制字信息包括:存储块(BANK)复制信息、片选信息、BANK地址信息及循环冗余校验码(CRC,CyclicRedundancyCheck)使能信息等;
其中,所述BANK复制信息即所述待写入数据复制的份数信息,例如:BANK复制信息为BANK复制四份,即将所述待写入数据复制成四份同样的数据,以放入四个不同的BANK中;
所述片选信息指示所述待写入数据存储的位置,包括SDRAM组信息及所述SDRAM组中的SDRAM信息,例如:共有三个SDRAM组,每个SDRAM组中有两片SDRAM,存在两种表示方式,方式一:二进制数字的高位代表SDRAM组,最低位代表组内SDRAM,例如:第三组即11,0可表示组内第一片SDRAM,则第三组中第一片为110;方式二:二进制数直接指向所有SDRAM中的具体SDRAM,例如:第三组中第一片SDRAM,即为所有SDRAM中的第五片SDRAM,用二进制表示为101;
所述BANK地址信息指示所述待写入数据存储的对应的BANK地址信息;例如:所述BANK地址信息为BA0,则指示所述待写入数据存储至BA0对应的BANK中;
所述CRC使能信息即是否开启数据校验的信息,所述CRC用于校验从SDRAM读写数据的一致性。
进一步的,所述依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中包括:
依据所述第一控制字信息中的BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数;
或者,依据所述第一控制字信息中的BANK复制信息确定不对所述待写入数据复制时,依据所述第一控制字信息中的片选信息及BANK地址信息,将所述待写入数据直接写入对应的SDRAM组的SDRAM中的BANK上;
这里,所述依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上包括:
依据所述第一控制字信息中的片选信息获取存储所述待写入数据的SDRAM组及组内SDRAM,将复制后的N份数据平均分配给所述SDRAM组中的SDRAM,并将分配给每片SDRAM的数据写入对应所述BANK地址信息的BANK及与所述BANK关联的BANK上;
其中,与所述BANK地址信息对应的BANK关联的BANK为预先设置的,在本发明实施例中,所述关联的BANK为:顺序读取的与所述BANK地址信息对应的BANK相邻的(N/2-1)个BANK,以及对应本片SDRAM的BANK序号的SDRAM组内其它SDRAM的BANK;例如:所述N为4,SDRAM组中有两片SDRAM,每片SDRAM包含8个BANK,分别为BA0、BA1...BA7及BB0、BB1...BB7,则每片SDRAM分配两份数据,所述BANK地址信息对应的BANK为BA0,则本片SDRAM中,与其关联的BANK为:顺序读取的与BA0相邻的(4/2-1)个BANK,即BA1,SDRAM组内另外一片对应本片BANK序号的为BB0、BB1,将所述4份相同的数据分别写入BA0、BA1、BB0及BB1四个BANK中。
进一步的,所述接收并提取写操作请求中的第一控制字信息及待写入数据之后,所述方法还包括:依据所述第一控制字信息中的CRC使能信息确定CRC使能时,对所述待写入数据进行CRC校验。
进一步的,本步骤之后,所述方法还包括:接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中,即为对已写入数据进行读取的调试(Debug)过程。
步骤102:接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据;
这里,服务器中的读模块接收用户侧发送的读操作请求;所述读操作请求中包括第二控制字信息;所述第二控制字信息包括:BANK复制信息、片选信息、BANK地址信息及CRC使能信息等;
所述确定第二控制字信息与第一控制字信息相同包括:确定第二控制字信息与第一控制字信息中的BANK复制信息、片选信息、BANK地址信息及CRC使能信息均相同。
进一步的,所述读取所述SDRAM组的SDRAM中的数据包括:
依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据;具体包括:依据第二控制字中的BANK复制信息、片选信息及BANK地址信息获得数据存储的BANK信息,获取记录的上次读取数据的BANK信息,依据所述数据存储的BANK信息及上次读取数据的BANK信息,对所述SDRAM组中的SDRAM进行轮询,读取SDRAM中的BANK中的数据;例如:第二控制字中的BANK复制信息为复制成四份相同的数据,共包含两个SDRAM组,每组两片SDRAM,片选信息为读取第一组中第一片SDRAM,BANK地址信息指示读取BA0,则依据上述信息及存储待写入数据的方式可得数据存储的BANK为BA0、BA1、BB0及BB1,获取记录的上次读取数据的BANK信息为BA0,则对SDRAM组内SDRAM进行轮询,本次应读取BB0对应的BANK中的数据,后续读取BA1和BB1对应的BANK中的数据;
这里,记录上次读取数据的BANK信息可由4bit的state_mem寄存器实现,对于每组SDRAM两片SDRAM,每片SDRAM包含8个BANK,分别为BA0、BA1...BA7及BB0、BB1...BB7的情况,所述state_mem寄存器的值为1表示上次读取的为BA0对应的BANK中的数据,值为2表示上次读取的为BB0对应的BANK中的数据,值为3表示上次读取的为BA1对应的BANK中的数据,以此类推,值为16时表示上次读取的为BB7对应的BANK中的数据。
图2所示为本发明实施例依据第二控制字信息及上次读取数据的BANK信息确定本次读取数据的BANK信息的示意图;如图2所示,依据所述第二控制字信息中的BANK复制信息确定复制四份,若依据第二控制字信息中的片选信息及BANK地址信息确定数据存储位置为BA0,可得四份数据分别存储在存储独立块(block)0及block1上,即两片SDRAM中的BA0、BA1、BB0及BB1上,读取state_mem寄存器的值获得上次读取数据的BANK信息,若state_mem寄存器的值为1,则本次应读取BB0对应的BANK中的数据。
本发明实施例中依据所述第二控制字信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据;如此,可灵活的调整访问SDRAM中的不同BANK,减少了SDRAM存储空间的浪费,避免了出现同BANK换行时带来的不必要的Precharge和激活(ACT,Action)时间,从而提高了SDRAM的访问时间;如图3所示为采用本发明实施例对SDRAM轮询读取数据(图a)与同BANK换行读数据(图b)对比示意图,采用同BANK换行读数据至少要多出1个tRC的时间;所述tRC为同片SDRAM同BANK两次ACT的时间间隔。
进一步的,所述方法还包括:依据所述第二控制信息确定CRC使能信息为CRC使能时,对读取的数据进行CRC校验。
进一步的,本步骤之后,所述方法还包括:对读取的数据进行整合,并返回给用户侧。
进一步的,所述方法还包括:当同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求;在本发明实施例中,所述检测请求的优先级高于所述读操作请求。
图4为本发明实施例二提高SDRAM访问效率的方法流程示意图;如图4所示,本发明实施例提高SDRAM访问效率的方法流程包括:
步骤401:接收并提取写操作请求中的第一控制字信息及待写入数据;
这里,所述写操作请求包括:第一控制字信息及待写入数据;这里,所述第一控制字信息包括:BANK复制信息、片选信息、BANK地址信息及CRC使能信息等;
其中,所述BANK复制信息即所述待写入数据复制的份数信息,例如:BANK复制信息为BANK复制8份,即将所述待写入数据复制成8份同样的数据,以放入8个不同的BANK中;
所述片选信息指示所述待写入数据存储的位置,包括SDRAM组信息及所述SDRAM组中的SDRAM信息,例如:共有三个SDRAM组,每个SDRAM组中有两片SDRAM,存在两种表示方式,方式一:二进制数字的高位代表SDRAM组,最低位代表组内SDRAM,例如:第三组即11,0可表示组内第一片SDRAM,则第三组中第一片为110;方式二:二进制数直接指向所有SDRAM中的具体SDRAM,例如:第三组中第一片SDRAM,即为所有SDRAM中的第五片SDRAM,用二进制表示为101;
其中,所述SDRAM组及每组中包含的SDRAM的数量均为预先设置的,可以包含多个SDRAM组,每组中包含相同的SDRAM个数,在一实施例中,每组SDRAM包含两片SDRAM;
所述BANK地址信息指示所述待写入数据存储的对应的BANK地址信息;例如:所述BANK地址信息为BA0,则指示所述待写入数据存储至BA0对应的BANK中;
所述CRC使能信息即是否开启数据校验的信息,所述CRC用于校验从SDRAM读写数据的一致性。
进一步的,本步骤之后,所述方法还包括:依据所述第一控制字信息中的CRC使能信息确定CRC使能时,对所述待写入数据进行CRC校验。
步骤402:依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
本步骤包括:依据所述第一控制字信息中的BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数;
或者,依据所述第一控制字信息中的BANK复制信息确定不对所述待写入数据复制时,依据所述第一控制字信息中的片选信息及BANK地址信息,将所述待写入数据直接写入对应的SDRAM组的SDRAM中的BANK上;例如:所述片选信息为第一SDRAM组的第一SDRAM,所述BANK地址信息为BA0,则将所述待写入数据直接写入所述BA0;在本发明实施例中,当所述第一控制字信息中的BANK复制信息为不复制时,默认将待写入数据直接写入BA0对应的BANK中;
这里,所述依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上包括:
依据所述第一控制字信息中的片选信息获取存储所述待写入数据的SDRAM组及组内SDRAM,将复制后的N份数据平均分配给所述SDRAM组中的SDRAM,并将分配给每片SDRAM的数据写入对应所述BANK地址信息的BANK及与所述BANK关联的BANK上;这里,与所述BANK地址信息对应的BANK关联的BANK为预先设置的,在本发明实施例中,所述关联的BANK为:顺序读取的与所述BANK地址信息对应的BANK相邻的(N/2-1)个BANK,以及对应本片SDRAM的BANK序号的SDRAM组内其它SDRAM的BANK;例如:所述N为8,SDRAM组中有两片SDRAM,每片SDRAM包含8个BANK,分别为BA0、BA1...BA7及BB0、BB1...BB7,则每片SDRAM分配两份数据,所述BANK地址信息对应的BANK为BA0,则本片SDRAM中,与其关联的BANK为:顺序读取的与BA0相邻的(8/2-1)个BANK,即BA1、BA2、BA3,组内另外一片对应本片BANK序号的为BB0、BB1、BB2、BB3,将所述8份相同的数据分别写入BA0、BA1、BA2、BA3、BB0、BB1、BB2及BB3八个BANK中。
进一步的,本步骤之后,所述方法还包括:接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中,即为对已写入数据进行读取的调试(Debug)过程。
步骤403:接收并提取读操作请求中的第二控制字信息,并判断所述第二控制字信息与所述第一控制字信息是否相同,如果相同,执行步骤404;如果不相同,执行步骤405;
这里,所述读操作请求中包括第二控制字信息;所述第二控制字信息包括:BANK复制信息、片选信息、BANK地址信息及CRC使能信息等;
所述判断所述第二控制字信息与所述第一控制字信息是否相同包括:判断第二控制字信息与第一控制字信息中的BANK复制信息、片选信息、BANK地址信息及CRC使能信息是否均相同,如果均相同,表明所述第二控制字信息与所述第一控制字信息相同;否则,表明所述第二控制字信息与所述第一控制字信息不同。
步骤404:读取所述SDRAM组的SDRAM中的数据;
本步骤具体包括:依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据;具体包括:依据第二控制字中的BANK复制信息、片选信息及BANK地址信息获得数据存储的BANK信息,获取记录的上次读取数据的BANK信息,依据所述数据存储的BANK信息及上次读取数据的BANK信息,对所述SDRAM组中的SDRAM进行轮询,读取SDRAM中的BANK中的数据;
在本发明实施例中,第二控制字中的BANK复制信息为复制成八份相同的数据,共包含两个SDRAM组,每组两片SDRAM,片选信息为读取第一组中第一片SDRAM,BANK地址信息指示读取BA0,则依据上述信息及存储待写入数据的方式可得数据存储的BANK为BA0、BA1、BA2、BA3、BB0、BB1、BB2及BB3,获取记录的上次读取数据的BANK信息为BA0,则对SDRAM组内SDRAM进行轮询,本次应读取BB0中的数据,后续读取BA1、BB1、BA2、BB2、BA3及BB3中的数据;这里,记录上次读取数据的BANK信息可由4bit的state_mem寄存器实现,对于每组SDRAM两片SDRAM,每片SDRAM包含8个BANK,分别为BA0、BA1...BA7及BB0、BB1...BB7的情况,所述state_mem寄存器的值为1表示上次读取的为BA0中的数据,值为2表示上次读取的为BB0对应的BANK中的数据,值为3表示上次读取的为BA1对应的BANK中的数据,以此类推,值为16时表示上次读取的为BB7中的数据。
本发明实施例中依据所述第二控制字信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据;如此,可灵活的调整访问SDRAM中的不同BANK,减少了SDRAM存储空间的浪费,避免了出现同BANK换行时带来的不必要的Precharge和ACT时间,从而提高了SDRAM的访问时间;如图3所示为采用本发明实施例对SDRAM轮询读取数据与同BANK换行读数据对比示意图,采用同BANK换行读数据至少要多出1个tRC的时间;所述tRC为同片SDRAM同BANK两次ACT的时间间隔。
进一步的,所述方法还包括:依据所述第二控制信息确定CRC使能信息为CRC使能时,对读取的数据进行CRC校验。
进一步的,本步骤之后,所述方法还包括:对读取的数据进行整合,并返回给用户侧。
进一步的,所述方法还包括:当同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求;在本发明实施例中,所述检测请求的优先级高于所述读操作请求。
步骤405:结束本次处理流程。
图5为本发明实施例提高SDRAM访问效率的装置组成结构示意图,如图5所示,本发明实施例提高SDRAM访问效率的装置组成包括:写模块51及读模块52;其中,
所述写模块51,用于接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
所述读模块52,用于接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据;
这里,所述SDRAM组及每组中包含的SDRAM的数量均为预先设置的,可以包含多个SDRAM组,每组中包含相同的SDRAM个数,优选的,每组SDRAM包含两片SDRAM;
所述写操作请求包括:第一控制字信息及待写入数据;这里,所述第一控制字信息包括:BANK复制信息、片选信息、BANK地址信息及CRC使能信息等;
所述读操作请求中包括第二控制字信息;所述第二控制字信息包括:BANK复制信息、片选信息、BANK地址信息及CRC使能信息等。
进一步的,所述写模块51依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中包括:
所述写模块51依据所述第一控制字信息中的存储块BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数;
或者,依据所述第一控制字信息中的BANK复制信息确定不对所述待写入数据复制时,依据所述第一控制字信息中的片选信息及BANK地址信息,将所述待写入数据直接写入对应的SDRAM组的SDRAM中的BANK上;
这里,所述写模块51依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上包括:
所述写模块51依据所述第一控制字信息中的片选信息获取存储所述待写入数据的SDRAM组及组内SDRAM,将复制后的N份数据平均分配给所述SDRAM组中的SDRAM,并将分配给每片SDRAM的数据写入对应所述BANK地址信息的BANK及与所述BANK关联的BANK上;这里,与所述BANK地址信息对应的BANK关联的BANK为预先设置的,在本发明实施例中,所述关联的BANK为:顺序读取的与所述BANK地址信息对应的BANK相邻的(N/2-1)个BANK,以及对应本片SDRAM的BANK序号的SDRAM组内其它SDRAM的BANK;例如:所述N为4,SDRAM组中有两片SDRAM,每片SDRAM包含8个BANK,分别为BA0、BA1...BA7及BB0、BB1...BB7,则每片SDRAM分配两份数据,所述BANK地址信息对应的BANK为BA0,则本片SDRAM中,与其关联的BANK为:顺序读取的与BA0相邻的(4/2-1)个BANK,即BA1,组内另外一片对应本片BANK序号的为BB0、BB1,将所述4份相同的数据分别写入BA0、BA1、BB0及BB1四个BANK中。
进一步的,所述写模块51,还用于依据所述第一控制字信息中的CRC使能信息确定CRC使能时,对所述待写入数据进行CRC校验。
进一步的,所述读模块52确定所述第二控制字信息与所述第一控制字信息相同包括:
所述读模块52确定所述第二控制字信息与所述第一控制字信息中包含的BANK复制信息、片选信息、BANK地址信息及CRC使能信息均相同;
所述读模块52读取所述SDRAM组的SDRAM中的数据包括:
所述读模块52依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据;具体包括:依据第二控制字中的BANK复制信息、片选信息及BANK地址信息获得数据存储的BANK信息,获取记录的上次读取数据的BANK信息,依据所述数据存储的BANK信息及上次读取数据的BANK信息,对所述SDRAM组中的SDRAM进行轮询,读取SDRAM中的BANK中的数据;例如:第二控制字中的BANK复制信息为复制成四份相同的数据,共包含两个SDRAM组,每组两片SDRAM,片选信息为读取第一组中第一片SDRAM,BANK地址信息指示读取BA0,则依据上述信息及存储待写入数据的方式可得数据存储的BANK为BA0、BA1、BB0及BB1,获取记录的上次读取数据的BANK信息为BA0,则对SDRAM组内SDRAM进行轮询,本次应读取BB0中的数据,后续读取BA1和BB1中的数据;这里,记录上次读取数据的BANK信息可由4bit的state_mem寄存器实现,对于每组SDRAM两片SDRAM,每片SDRAM包含8个BANK,分别为BA0、BA1...BA7及BB0、BB1...BB7的情况,所述state_mem寄存器的值为1表示上次读取的为BA0中的数据,值为2表示上次读取的为BB0中的数据,值为3表示上次读取的为BA1对应的BANK中的数据,以此类推,值为16时表示上次读取的为BB7对应的BANK中的数据。
进一步的,所述读模块52,还用于依据所述第二控制信息确定CRC使能信息为CRC使能时,对读取的数据进行CRC校验;以及对读取的数据进行整合,并返回给用户侧。
进一步的,所述读模块52,还用于接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中。
进一步的,所述读模块52,还用于同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求。
进一步的,所述读模块52,具体用于依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据。
在本发明实施例中,所述写模块51及读模块52均可由服务器中的中央处理器(CPU,CentralProcessingUnit)或数字信号处理器(DSP,DigitalSignalProcessor)、或现场可编程门阵列(FPGA,FieldProgrammableGateArray)、或集成电路(ASIC,ApplicationSpecificIntegratedCircuit)实现。
以上所述,仅为本发明较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种提高同步动态随机存储器SDRAM访问效率的方法,其特征在于,所述方法包括:
接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。
2.根据权利要求1所述方法,其特征在于,所述第一控制字信息包括:存储块BANK复制信息、片选信息及BANK地址信息;
所述依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中包括:
依据所述第一控制字信息中的BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数。
3.根据权利要求1或2所述方法,其特征在于,所述将所述待写入数据写入相应的SDRAM组的SDRAM中之后,所述方法还包括:
接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中。
4.根据权利要求3所述方法,其特征在于,所述方法还包括:
当同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求。
5.根据权利要求1或2所述方法,其特征在于,所述第二控制字信息包括:BANK复制信息、片选信息及BANK地址信息;
所述读取所述SDRAM组的SDRAM中的数据包括:
依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据。
6.一种提高SDRAM访问效率的装置,其特征在于,所述装置包括:写模块及读模块;其中,
所述写模块,用于接收并提取写操作请求中的第一控制字信息及待写入数据,依据所述第一控制字信息将所述待写入数据写入相应的SDRAM组的SDRAM中;
所述读模块,用于接收并提取读操作请求中的第二控制字信息,确定所述第二控制字信息与所述第一控制字信息相同时,读取所述SDRAM组的SDRAM中的数据。
7.根据权利要求6所述装置,其特征在于,所述第一控制字信息包括:存储块BANK复制信息、片选信息及BANK地址信息;
所述写模块,具体用于依据所述第一控制字信息中的BANK复制信息,将所述待写入数据复制成N份相同的数据,并依据所述第一控制字信息中的片选信息及BANK地址信息,将复制后的N份数据分别写入对应的SDRAM组的SDRAM中的不同BANK上;其中,N为正偶数。
8.根据权利要求6或7所述装置,其特征在于,所述读模块,还用于接收检测请求,并执行所述检测;其中,所述检测请求用于检测所述待写入数据是否已正确写入所述SDRAM中。
9.根据权利要求8所述装置,其特征在于,所述读模块,还用于同时接收到所述读操作请求及所述检测请求时,判断所述读操作请求及所述检测请求的优先级,并优先处理优先级高的操作请求。
10.根据权利要求6或7所述装置,其特征在于,所述第二控制字信息包括:BANK复制信息、片选信息及BANK地址信息;
所述读模块,具体用于依据所述第二控制字中的BANK复制信息、片选信息及BANK地址信息,对所述SDRAM组中的SDRAM进行轮询,读取所述SDRAM中的数据。
CN201410778337.5A 2014-12-15 2014-12-15 一种提高同步动态随机存储器访问效率的方法及装置 Withdrawn CN105760315A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410778337.5A CN105760315A (zh) 2014-12-15 2014-12-15 一种提高同步动态随机存储器访问效率的方法及装置
PCT/CN2015/080773 WO2016095451A1 (zh) 2014-12-15 2015-06-04 一种提高存储器访问效率的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410778337.5A CN105760315A (zh) 2014-12-15 2014-12-15 一种提高同步动态随机存储器访问效率的方法及装置

Publications (1)

Publication Number Publication Date
CN105760315A true CN105760315A (zh) 2016-07-13

Family

ID=56125787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410778337.5A Withdrawn CN105760315A (zh) 2014-12-15 2014-12-15 一种提高同步动态随机存储器访问效率的方法及装置

Country Status (2)

Country Link
CN (1) CN105760315A (zh)
WO (1) WO2016095451A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459408A (zh) * 2020-03-20 2020-07-28 烽火通信科技股份有限公司 一种提升dram中数据查找速率的方法及系统
WO2022057481A1 (zh) * 2020-09-16 2022-03-24 中兴通讯股份有限公司 一种存储器资源分配方法和网络设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070049A1 (en) * 2001-10-04 2003-04-10 Hitachi, Ltd. Memory control method, memory control circuit using the control method, and integrated circuit device with the memory control circuit
CN1674151A (zh) * 2005-03-28 2005-09-28 北京中星微电子有限公司 一种针对图像处理的同步动态随机存储器存取方法
CN102253896A (zh) * 2011-07-22 2011-11-23 华为技术有限公司 写操作处理方法及网络设备
CN102279802A (zh) * 2010-06-13 2011-12-14 中兴通讯股份有限公司 提高同步动态随机存储控制器的读操作效率的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944731B2 (en) * 2001-12-19 2005-09-13 Agere Systems Inc. Dynamic random access memory system with bank conflict avoidance feature
CN100538882C (zh) * 2005-11-18 2009-09-09 宁波中科集成电路设计中心有限公司 一种同步动态存储器控制器的设计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070049A1 (en) * 2001-10-04 2003-04-10 Hitachi, Ltd. Memory control method, memory control circuit using the control method, and integrated circuit device with the memory control circuit
CN1674151A (zh) * 2005-03-28 2005-09-28 北京中星微电子有限公司 一种针对图像处理的同步动态随机存储器存取方法
CN102279802A (zh) * 2010-06-13 2011-12-14 中兴通讯股份有限公司 提高同步动态随机存储控制器的读操作效率的方法和装置
CN102253896A (zh) * 2011-07-22 2011-11-23 华为技术有限公司 写操作处理方法及网络设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459408A (zh) * 2020-03-20 2020-07-28 烽火通信科技股份有限公司 一种提升dram中数据查找速率的方法及系统
WO2022057481A1 (zh) * 2020-09-16 2022-03-24 中兴通讯股份有限公司 一种存储器资源分配方法和网络设备

Also Published As

Publication number Publication date
WO2016095451A1 (zh) 2016-06-23

Similar Documents

Publication Publication Date Title
CN108231109B (zh) 动态随机存取存储器dram的刷新方法、设备以及系统
CN110347331B (zh) 存储器模块和包括存储器模块的存储器系统
US9317214B2 (en) Operating a memory management controller
US10007446B2 (en) Method, apparatus, and storage medium for writing data into persistent storage device
US11392488B2 (en) Optimizing storage of application data in memory
KR101431205B1 (ko) 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법
CN104685571A (zh) 响应于潜在干扰的存在刷新一组存储器单元
CN108039190B (zh) 一种测试方法及装置
KR20120052893A (ko) 직렬 인터페이스 메모리에서의 병행 판독 및 기입 메모리 동작들
CN102929748A (zh) 数据备份方法及装置
CN104143355B (zh) 一种刷新动态随机存取存储器的方法和装置
CN101763433B (zh) 一种数据存储系统及方法
CN112133357B (zh) 一种eMMC的测试方法及装置
CN104834477A (zh) 基于闪存的数据写入方法和装置
US8930672B2 (en) Multiprocessor using a shared virtual memory and method of generating a translation table
US8161333B2 (en) Information processing system
CN103605478B (zh) 存储地址标示、配置方法和数据存取方法及系统
CN107870739B (zh) 磁盘文件存储方法和系统
US20180018104A1 (en) Dynamic write latency for memory controller using data pattern extraction
CN105760315A (zh) 一种提高同步动态随机存储器访问效率的方法及装置
CN117577163A (zh) 一种ssd坏块检测方法、装置、计算机设备及存储介质
CN103019624A (zh) 一种相变内存装置
CN109243517B (zh) 一种用于NAND Flash不良区块的查找方法、固态硬盘
CN112148220B (zh) 一种实现数据处理的方法、装置、计算机存储介质及终端
US9658976B2 (en) Data writing system and method for DMA

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20160713