在sdram存储若干数据的方法

文档序号:6484201阅读:340来源:国知局
专利名称:在sdram存储若干数据的方法
技术领域
本发明涉及一种在SDRAM中存储数据的方法,尤其是在其中存储若干图 片数据的方法。
背景技术
随着信息技术的发展与广泛应用,使用SDRAM进行数据的存储和读取也 越来越广泛。
如图1所示,目前在各个MASTER对多块数据包以相似偏移量并发访问 的概率比较大的SOC ( system on chip)系统设计中,其并没有对存储的数据 在SDRAM中的存储位置有所要求。如图2所示,这些数据在SDRAM中的 存储方式也就是顺序存储,即在存完一个数据后,在进行下一个数据的存储, 直到存储完毕所有的数据。假设数据读取的burst长度为4word,那么其数据 读取方式请参阅图3所示。由于数据存储的方式并不与数据读取的方式对应, 因此在图3中可以看出,每读一个burst长度的数据,就会发生一次page miss
(即前后两次burst婆t据读取是发生在不同的page中,这种读取方式被称作 page miss),这样就使得数据读取时间加长。
如此,这种存储方式使得提高SDRAM的访问带宽,纯粹是依靠SDRC
(同步动态随机存储控制器)这个模块本身的性能。其性能好时,数据的存 储效率就高;反之,则效率低下。但是就目前而言,即使是一个性能最优秀 的SDRC,其对SDRAM的访问带宽的提高也是有限的。
因此,亟待提出一种新的可用于SDRAM存储数据的方法,以解决现有 技术中的缺点。

发明内容
有鉴于此,本发明的一个目的在于提供一种SDRAM中数据存储方法, 其对存储数据在SDRAM中的存储位置有所安排,以提高其被访问的效率, 进而提高整个系统的性能。
为了达到上述目的,本发明的一个实施方式提供了一种在SDRAM中存 储若干数据的方法,其中该使用的SDRAM包括有若干存储阵列(bank), 每个存储阵列中包括有若干存储单元(page),其包括有以下步骤。将每份数 据划分为若干大小相同的数据块,每个数据块的大小等于读取SDRAM内存 储数据的BURST长度;将相邻的预定份数据的数据块依次交错存储于 SDRAM的存储阵列的存储单元内。
进一步的,在不同实施方式中,其中将数据包括的数据块交错存储于 SDRAM的存储阵列的存储单元内的方式为,依次存储各数据包括的第一个 数据块,当全部要存储的数据的第一个数据块依次存储完毕后,在按第一次 若干数据的存储顺序继续存储各数据的第二个数据块,直到最后将所有数据 的数据块存储完毕。
进一步的,在不同实施方式中,其中在将数据包括的数据块交错存储于 SDRAM的存储阵列的存储单元内的方式中,SDRAM内包括的存储阵列及 其内包括的存储单元是按照逻辑结构上的先后顺序来依次存储这些数据的数 据块。
进一步的,在不同实施方式中,其中在SDRAM中存储的这些数据,其 大小是完全一样的。
进一步的,在不同实施方式中,其中SDRAM中数据读取的BURST长 度大小包括1、 2、 4、 8words,相应的,存储的数据所分成的数据块,其相 应大小也包4舌1、 2、 4、 8words。进一步的,在不同实施方式中,其中存储的数据为图片数据。 进一步的,在不同实施方式中,其中存储的若干图片数据最好为同样大
进一步的,在不同实施方式中,本发明SDRAM数据存储方法用于各个 MASTER对多块数据包以相似偏移量并发访问的概率比较大的SOC系统中, 以^是高其SDRAM的访问效率。
相对于现有技术,本发明通过对存储数据在SDRAM中的存储位置的安 排,使得其可以被更有效率的访问,节省了读取时间,从而达到提高SDRAM 的访问带宽,进而提高整个系统性能的目的。


图1为现有技术中SOC系统的简化结构示意图2为图1中所示的SDRAM数据存储方式示意图3为图2中SDRAM中存储的数据的读取方式示意图4是本发明的 一个实施方式涉及的数据存储方法的流程图5为本发明的一个实施方式中数据存储在SDRAM中的存储位置示意
图6为本发明的一个实施方式中在SDRAM中存储的数据读取方式的示 意图。
具体实施例方式
请参阅图4所示,本发明的一个实施方式中涉及的在SDRAM中存储 数据的方法100,其包括有以下步骤,确定要使用存储数据的SDRAM的数 据读取BURST的长度信息110。然后根据BURST长度对存储数据进行分割, 使其包括若干BURST长度大小的数据块120,最后将各数据交错存储于 SDRAM中130。
其中,在SDRAM中,其是由若干存储阵列(bank)组成,每个bank又是由若干存储单元(page)组成。其读取其中存储的数据通常是BURST 模式(BURST MODE )。不同规格的SDRAM包括的bank的数量不同,而 且读取数据的BURST长度(BURST LENGTH)也是不同的,其可以是1、 2、 4或8words 。
因此在确定了选用的SDRAM后,才可进行各份数据的数据块划分,使 数据块的大小对应于选用SDRAM的BURST长度大小。那么相应的,数据 块的大小也包括l、 2、 4或8words。另外,这些要存储的数据最好是大小完 全一致的,如此,可以更好的体现本发明涉及方法的优势。
当各份数据已分成了若干个大小相同的数据块后,开始交错存储于 SDRAM中的存储位置中时,SDRAM接收数据的方式,是按照其自身的逻 辑结构顺序开始存储的。例如,SDRAM中包括有4个bank: bank0 、 bank 1 、 bank2及bank3。每个bank中包括4个page: page0、 pagel 、 page2及page3。 那么依次接收要存储的数据从bank0的page0开始,直到page3。当bank0 的存储空间使用完,则由bankl的page0开始继续存储。
而各份数据所包括的数据块交错存储的具体方式为,先进行各数据所包 括的第一个数据块的依次存储,例如,从数据1的第一数据块开始存储,其 后是数据2的第一数据块。当所有数据的第一个数据块被存储完毕后,则继 续进行各数据的第二数据块的存储,其存储顺序为第 一数据块的存储顺序, 依此类推,直到存储完毕各数据的全部数据块。
在一个将四份大小为1M words的图片数据存储于一个容量为8M的 SDRAM的具体的实施方式中,其中用于存储数据的SDRAM包括有4个 bank,每个bank包4舌有8个page,每个page的容量为256words,且用于i卖 取其内存储数据的BURST长度为4words。
具体四份图片数据所包括的各数据块在SDRAM中的存储位置的示意 图,请参阅图5所示。根据BURST传输的数据长度为4words。将四个图片
7数据Pl、 P2、 P3、 P4分为256个大小为4words的数据块,具体分别为Pl-l、 Pl-2……Pl- 256; P2-l、P2-2……P2國256; P3陽1、P3-2……P3画256;以及P4-1、 P4-2 P4-256,以进行后续的交错存储操作。将这些数据块交错存储于该
SDRAM的存储区域中,具体为,按照该SDRAM内部逻辑结构顺序,最先 用于存储的空间为bank0的page0区域,先将Pl-l存储于SDRAM的bank0 的page0内,然后是P2-1、 P3-l、 P4-1,再然后是Pl-2、 P2-2、 P3-2、 P4-2、 Pl-3、 P2-3、 P3-3、 P4-3、 Pl-4、 P2-4、 P3-4、 P4-4等等交替存储于pageO 内,直到Pl-16、 P2-16、 P3-16、 P4-16, pageO的存储空间用完,则继续在 其后的pagel上继续这些图片数据所包括的后续数据块的存储。当bank0的 存储空间用完后,则使用顺序下一个bankl的存储空间继续存储,直到最终, 将四个图片数据包括的全部数据块存储完毕。
在各个MASTER对多块数据包以相似偏移量并发访问的概率比较大的 SOC系统中,我们希望从SDRAM中读取数据的顺序是Pl-l, P2-1, P3-1, P4-1; Pl-2, P2-2, P3-2, P4-2直到数据被读取完。因此对于如图5所示的数据 存储格式,如图6所示,可以得到这样一个访问时序图。相对于现有技术中 图3所示的数据存储结构,其会在每读一个burst长度的数据时,就会发生 一次pagemiss。而采用本发明涉及的存储方式存储的数据在读取时,如图6 所示,其只在每读完一个page长度(64个burst长度)的数据后,才会发生一 次pagemiss。因而采用本发明涉及的数据存储方式,其数据读取速度明显快 于现有技术所采用的数据存储方式。且其并不是特别需要采用更好的SDRC (同步动态随机存储控制器)模块性能。
进一步的,对于两份数据、三份数据以及更多数量的数据的存储方式, 可参阅上述四份数据的存储方式,均是依次存完各份数据所包括的第 一 个数 据块后,在进行各份数据的第二数据块的存储,直到最后。
进一步的,对于各份数据的数据块在不同bank的不同page中的存储顺序可以随实际情况而定。例如,其可以是在page0中存完后,隔一个pagel, 在page2中在继续存储。对于存储bank也是类似。在存完bankO后,可以是 隔一个bankl ,在bank2中在继续存储。
权利要求
1. 一种SDRAM的存储数据的方法,其中所述SDRAM包括有若干存储阵列,每个存储阵列中包括有若干存储单元,其特征在于,其包括有以下步骤将每份数据划分为若干大小相同的数据块,每个数据块的大小等于读取所述SDRAM内存储数据的BURST长度;将相邻的预定份数据的数据块依次交错存储于所述SDRAM的存储阵列的存储单元内。
2. 根据权利要求1所述的存储若干数据的方法,其特征在于,其中所述 将数据包括的数据块交错存储于SDRAM的存储阵列的存储单元内的方式 为,依次存储各数据包括的第一个数据块,当全部要存储数据的第一个数据 块依次存储完毕后,再按第一次所述若干数据的存储顺序继续存储所述各数 据的第二个数据块,直到最后将所有数据的数据块存储完毕。
3. 根据权利要求1所述的存储若干数据的方法,其特征在于,其中在所 述将数据包括的数据块交错存储于SDRAM的存储阵列的存储单元内的方式 中,其中所述SDRAM内包括的存储阵列及其内包括的存储单元是按照逻辑 结构上的先后顺序来依次接收将要存储的这些数据的数据块。
4. 根据权利要求1所述的存储若干数据的方法,其特征在于,其中所述 存储的若干数据的大小是完全一样的。
5. 根据权利要求1所述的存储若千数据的方法,其特征在于,其中所述 BURST长度大小包括1、 2、 4、 8words,相应的,所述存储的数据包括的数 据块的大小也相应包括l、 2、 4、 8words。
6. 根据权利要求1所述的存储若干数据的方法,其特征在于,其中所述存储的数据为图片数据。
7. 根据权利要求6所述的存储若干数据的方法,其特征在于,其中所述 存储的若干图片数据为同样大小。
8. 根据权利要求1所述的存储若干数据的方法,其特征在于,其用于各 个MASTER对多块数据包以相似偏移量并发访问的概率比较大的SOC系统 中,以提高其SDRAM的访问效率。
全文摘要
本发明公开了一种在SDRAM中存储若干数据的方法,其包括有以下步骤。将每份数据划分为若干大小相同的数据块,每个数据块的大小等于读取SDRAM内存储数据的BURST长度;将相邻的预定份数据的数据块依次交错存储于SDRAM的存储阵列的存储单元内。本发明通过对存储数据在SDRAM中的存储位置的排列,使得在各个MASTER对多块数据包以相似偏移量并发访问的概率比较大的SOC系统中,其可以被更有效率的访问,节省了读取时间,从而达到提高SDRAM的访问带宽,进而提高整个系统性能的目的。
文档编号G06F12/02GK101520750SQ20091008110
公开日2009年9月2日 申请日期2009年4月2日 优先权日2009年4月2日
发明者军 付, 李建军 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1