CN105760315A - 一种提高同步动态随机存储器访问效率的方法及装置 - Google Patents
一种提高同步动态随机存储器访问效率的方法及装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000001514 detection method Methods 0.000 claims description 37
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 238000011112 process operation Methods 0.000 claims 1
- 238000013500 data storage Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000010076 replication Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing 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中的数据。
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)
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)
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)
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 | 宁波中科集成电路设计中心有限公司 | 一种同步动态存储器控制器的设计方法 |
-
2014
- 2014-12-15 CN CN201410778337.5A patent/CN105760315A/zh not_active Withdrawn
-
2015
- 2015-06-04 WO PCT/CN2015/080773 patent/WO2016095451A1/zh active Application Filing
Patent Citations (4)
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)
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 |