【技术实现步骤摘要】
支持灵活分块存取的虚拟多通道SDRAM访问方法
本专利技术属于存储
,尤其涉及一种支持灵活分块存取的虚拟多通道SDRAM访问方法。
技术介绍
目前,随着航天事业的迅猛发展,北斗系列等卫星的不断发展更新,中继卫星网络已经可以覆盖到全球的区域,但是尚没有在全球范围内建立地面接收站的能力,因此发送的卫星很难全部通过地面接收站接收数据,需要依靠中继网络接力传输,中继网络的带宽是有限的,为了能够在有限的带宽下实现大量的数据的传输,在星载平台中开始使用大量的大容量存储器来完成星上数据的收集、存储、实时处理,它们在航天系统中起到越来越重要的的作用。星上存储器的种类繁多,从最开始的磁盘,到SRAM、DRAM等固态存储器,再到NANDFLASH等非易失性存储器,其中SDRAM以其较高的集成度和较低的成本在星载系统中受到广泛的应用。然而,随着星上任务增多,需要进行存储的数据类型越来越多,为大容量SDRAM的设计带来了极大的挑战,目前星上的大容量SDRAM缓存主要面临的难题包括:1、星上的硬件资源匮乏,无论是计算资源还是缓存 ...
【技术保护点】
1.一种支持灵活分块存取的虚拟多通道SDRAM访问方法,其特征在于,所述支持灵活分块存取的虚拟多通道SDRAM访问方法包括:/n步骤一,利用FIFO隔离不同时钟域,进行跨时钟域处理、数据拼接、数据缓存,支持在不同通道不同时钟域下进行数据读写;/n步骤二,在顺序存取和分块存取SDRAM的时候进行顺序写地址计算、顺序读地址计算、分块读地址计算;/n步骤三,调度多个通道的切换,进行多通道之间的仲裁并控制每次读写的数据量;/n步骤四,SDRAM控制器联接用户层接口和SDRAM;并将读写的地址、命令、数据转化为正确时序关系送到SDRAM总线上。/n
【技术特征摘要】
1.一种支持灵活分块存取的虚拟多通道SDRAM访问方法,其特征在于,所述支持灵活分块存取的虚拟多通道SDRAM访问方法包括:
步骤一,利用FIFO隔离不同时钟域,进行跨时钟域处理、数据拼接、数据缓存,支持在不同通道不同时钟域下进行数据读写;
步骤二,在顺序存取和分块存取SDRAM的时候进行顺序写地址计算、顺序读地址计算、分块读地址计算;
步骤三,调度多个通道的切换,进行多通道之间的仲裁并控制每次读写的数据量;
步骤四,SDRAM控制器联接用户层接口和SDRAM;并将读写的地址、命令、数据转化为正确时序关系送到SDRAM总线上。
2.如权利要求1所述支持灵活分块存取的虚拟多通道SDRAM访问方法,其特征在于,步骤二中,所述顺序写地址计算、顺序读地址计算、分块读地址计算方法包括:
(1)对待写入的数据进行SDRAM内地址的分配:待写入数据的二维数组阵列为n1*n2;数据量为n1*n2其中n1和n2均为2的次幂,每个数据占用一个存储单元,对数据按照从左到右,从上到下的顺序进行地址编号,并利用二进制数据表示所述地址,所述地址编号为A=Am~A0,其中m=log2(n1*n2)-1;
(2)顺序写地址计算:定义一个(m+1)bit的计数器WR_CNT,按照数据输入的使能信号进行叠加(从0计数到n1*n2-1),进行存储单元的遍历和顺序写入;
(3)顺序读地址计算:定义一个(m+1)bit的计数器RD_CNT,按照数据输出的使能信号进行叠加,从0计数到n1*n2-1,进行存储单元的遍历和顺序读出;
(4)分块读地址计算:将二维数组阵列划分为ixj大小的分块,i、j均为2的次幂,每个分块内按照从左到右,从上到下的顺序输出,分块之间按照从左到右,从上到下的顺序输出;
进一步,步骤(4)中,所述分块读地址计算方法包括:
(4.1)定义m1=log2(j)-1,m2=log2(i)-1,m3=log2(n2/j)-1按照分块输出顺序,Bm1~B0为一个分块内一行内的列计数,每输出一个数据,Bm1~B0加1;Bm2~Bm1+1为一个分块内的行计数,每输出一行,Bm2~Bm1+1加1;Bm~Bm2+1为分块计数,每输出完一个分块,Bm~Bm2+1加1;
(4.2)将Bm~B0映射到Am~A0中,对应关系如下:
Am1~A0=Bm1~B0;
Am2~Am1+1=Bm3~Bm2+1;
Am3~Am2+1=Bm2~Bm1+1;
Am~Am3+1=Bm~Bm3+1;
(4.3)分块地址的计算方式为:将Bm~B0中的行计数Bm2~Bm1+1和分块计数Bm~Bm2+1中属于同一行的计数Bm3~Bm2+1进行位置的调换,具体包括:
Am~Am3+1,Am3~Am2+1,Am2~Am1+1,Am1~A0=Bm~Bm3+1,Bm2~Bm1+1,Bm3~Bm2+1,Bm1~B0。
3.如权利要求1所述支持灵活分块存取的虚拟多通道SDRAM访问方法,其特征在于,步骤三中,所述调度多个通道的切换,进行多通道之间的仲裁并控制每次读写的数据量方法包括:
(一)统计各个通道的水位情况,将水位情况为分为高、中、低三挡,对于写通道,水位情况表示输入FIFO中缓存的数据量和SDRAM中给该通道分配的存储区域中当前的空闲空间,FIFO中数据量和SDRAM中的空闲空间越多,水位的档位越高;
对于读通道,水位情况表示输出FIFO中空闲的空间和SDRAM中被读出的数据量,FIFO中空闲空间和SDRAM中数据量越多,水位的档位越高;
(二)第一轮仲裁对比各个通道的水位情况来判断,水位的档位越高,则优先级越高,如果各个通道中只有一个通道的水位最高,则该通道获得本次通道的使用权,若有多个通道同时处于高水位则需要进行第二轮仲裁;
(三)第二轮仲裁根据通道本身固定优先级来决定,优先级越高的获得本次通道的使用权,根据通道的带宽情况和数据重要程度决定固定优先级,带宽越高,数据本身越重要的通道优先级越高;
(四)确定优先级之后本轮仲裁结束,将获得调度权的通道接入总线中,开启突发传输;
步骤四中,所述将读写的地址、命令、数据转化为正确时序关系送到SDRAM总线上包括:
1)通电并进行初始化,获取待发送指令;所述待发送指令包括模式配置、刷新、预充电及其他相关指令;
2)进入闲置状态,等待读请求、写请求或者刷新请求,并作出应答;
3)当处于刷新操作状态时,执行相应刷新操作,并根据是否保存有未执行指令进行下一步状态跳转;
4)当处于写突发状态时,根据需要发送相应的写操作指令和写数据,操作结束之后,并根据是否保存有未执行指令进行下一步状态跳转;
5)当读突发状态时,根据需要发送相应的读操作指令和接收相应的读数据,操作结...
【专利技术属性】
技术研发人员:颜露新,郭超乐,陈立群,颜章,王震宇,崔裕宾,钟胜,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。