[发明专利]基于SDRAM的大容量FIFO突发缓存器及数据存储方法无效
申请号: | 200810064901.1 | 申请日: | 2008-07-10 |
公开(公告)号: | CN101308697A | 公开(公告)日: | 2008-11-19 |
发明(设计)人: | 任广辉;李宝;王刚毅 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G11C7/10 | 分类号: | G11C7/10;G06F5/10 |
代理公司: | 哈尔滨市松花江专利商标事务所 | 代理人: | 徐爱萍 |
地址: | 150001黑龙江*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 sdram 容量 fifo 突发 缓存 数据 存储 方法 | ||
技术领域
本发明涉及一种突发缓存的领域。
背景技术
突发缓存主要用于不同的时钟域或不同数据宽度接口之间的数据传输,即输入数据和输出数据的速率不一样或者输入数据和输出数据的数据宽度不一样。目前主要有三种缓存。
第一种双口SRAM,速度快可达上百兆,可同时读写,有地址线可控制存取位置,它的缺点是容量较小,一般都不到1MB,无法满足大容量的存储要求,价格也很高。
第二种为“乒乓”SDRAM,所谓“乒乓”就是指用两个SDRAM,一个进行读操作,一个进行写操作,这样便可同时进行读写操作,读写速度可以达到166MHz,且成本低。缺点其操作控制非常复杂,在电路板上所占面积大。
最后一种是FIFO突发缓存,FIFO突发缓存是一种操作简单可同时读写,先进先出的存储设备,它的存储速度很快,可达上百兆。当传输速率很高时,需要大容量的FIFO突发缓存,但目前市场上的FIFO突发缓存容量较小,一般都不到1MB,且价格很高,很难胜任高速大容量数据缓存,基于此利用SDRAM为存储体设计一个FIFO突发缓存,可以用做高速大容量的数据缓存,并大大降低了成本。
SDRAM存储器需要定时的刷新以保证SDRAM存储器中所存的数据不丢失,目前存储体中电容的数据有效保存期为64ms,也就是说每一行刷新的循环周期是64ms,如内存为4096 Refresh Cycles/64ms,这里的4096表示芯片中每个L-BANK的行数,也就是说发送间隔为15.625μs,为方便说明假设我们采用的时钟周期是100M,也就是说最多每隔1562个周期就要进行刷新,在刷新过程中所有L-BANK停止工作,而每次刷新需占用一定的时间,之后才可进入正常的工作状态,也就是说在这段时间内,所有工作指令只能等待而无法执行。64ms之后则再次对同一行进行刷新,如此周而复始进行循环刷新。现在普遍采用的方法就是定时刷新,也就是经过一个固定的周期后停止其他操作马上进行刷新,采用这种方法在本设计中是不合适的,比如,当列地址位数较多时,为11位时,一行有2048列,假设读或写一个数需要一个周期(实际上肯定不止一个周期,因为除了读写外,预充电,初始化等操作也要占据一些周期),这样当进行一次读或写操作的时候,由于突发长度为一行也就是连续读或写2048个数,但是在写的过程当中当一行还没完全读或写完时就要进行刷新(否则数据会丢失),从而使这个读或写的过程没有完成。
在缓存中一般的读/写操作,都是一次对一个存储单元进行寻址,如果要连续读/写就还要对当前存储单元的下一个单元进行寻址,也就是要不断的发送列地址与读/写命令(行地址不变,所以不用再对行寻址)。虽然由于读/写延迟相同可以让数据的传输在I/O端是连续的,但它占用了大量的内存控制资源,在数据进行连续传输时无法输入新的命令,效率很低。
发明内容
本发明为了解决FIFO突发缓存容量小、价格高的问题,以及采用SDRAM存储器所带来的无法同时完成读写操作和操作效率低的缺点,而提出了一种基于SDRAM的大容量FIFO突发缓存器及数据存储方法。
基于SDRAM的大容量FIFO突发缓存器由主控制器、SDRAM控制器、输入缓存器和输出缓存器组成;输入缓存器的数据输入端为外部数据输入端,输入缓存器的读控制端连接主控制器的输入缓存器控制端,输入缓存器的SDRAM存储器数据输出端连接SDRAM控制器的数据输入端;输入缓存器的数据直接输出端连接输出缓存器的数据直接输入端;输出缓存器的写控制端连接主控制器的输出缓存器控制端,输出缓存器的SDRAM存储器数据输入端连接SDRAM控制器的数据输出端,输出缓存器的数据输出端为外部数据输出端;主控制器的SDRAM读写控制端连接SDRAM控制器的读写控制端。
基于SDRAM的大容量FIFO突发缓存器的数据存储方法:
主控制器的工作过程为:
在空闲状态s_idle中,若满足输入缓存器中的数据量大于等于M,且SDRAM存储器非满时;则进入写状态sd_w;否则,进入s_idle1状态;
在s_idle1状态中,若满足输出缓存器中数据量大于等于M;则进入空闲状态s_idle;否则,进一步判断SDRAM存储器是否为空;若为空,则进入输入/输出状态s_io;若为非空,则进入读状态sd_r;
在输入/输出状态s_io中,若满足输入缓存器中有数据,且输出缓存器中的数据量小于M,则将输入缓存器中的数据直接写入输出缓存器中,并重复所述写操作,直到输入缓存器中无数据,或者输出缓存器中的数据量大于等于M为止,返回s_idle状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810064901.1/2.html,转载请声明来源钻瓜专利网。