一种高速串行存储控制方法及装置制造方法

文档序号:6636397阅读:205来源:国知局
一种高速串行存储控制方法及装置制造方法
【专利摘要】本发明公开了一种高速串行存储控制方法和装置。方法包括步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。装置包括至少一路高速串行通道、高速串行接口控制模块、协议处理模块和存储控制模块。本发明利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有接口简单、数据可靠性高的优点。本发明可广泛应用于各种高速串行存储控制系统。
【专利说明】一种高速串行存储控制方法及装置

【技术领域】
[0001]本发明涉及数据传输及存储领域,尤其涉及一种高速串行存储控制方法,本发明还涉及一种高速串行存储控制装置。

【背景技术】
[0002]存储器一直占据集成电路市场的1/3左右,静态随机存取存储器(SRAM =StaticRandom Access Memory)由于其读写快速和低功耗的优点,在存储器应用市场占据较大份额,特别是对读写时延和功耗要求高的嵌入式领域。但由于其内部结构复杂,占用面积大,不适宜集成大容量的存储应用,即便集成为大容量的SRAM,其对外接口较多,且数据传输的可靠性不高,易受信号走线上的各种干扰。
[0003]高速串行接口由于其串行特性、差分信号传输和8B/10B编码,在高速数据传输中应用广泛,如其中的 SATA 3.0 (Serial Advanced Technology Attachment,串行高级技术附件)版本的带宽可达6Gbps,传输速度高达600MB/S,而且数据传输相当可靠,驱动电压较低。
[0004]若将高速串行接口经过某种协议转换、存储控制和实现,连接到SRAM上,结合高速串行接口特性和SRAM的高速读写特性,这样的SRAM易扩展成大容量,存储体的接口简单走线方便,数据传输高速且抗干扰性强,本发明即基于此。


【发明内容】

[0005]为了实现上述目的,本发明提供一种可以完美结合高速串行接口的高吞吐率和静态随机存取存储器的读写迅速优点的存储控制方法。
[0006]为了实现上述目的,本发明提供一种可以完美结合高速串行接口的高吞吐率和静态随机存取存储器的读写迅速优点的存储控制装置。
[0007]本发明所采用的技术方案是:
一种高速串行存储控制方法,其包括步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。
[0008]优选的,步骤SI中所述写数据包格式包括数据包头和数据包净荷两部分,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长指定了所述的数据包净荷传输的数据长度,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为写;步骤SI中所述读数据包格式包括数据包头,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长为固定值,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为读。
[0009]优选的,所述步骤S2具体包括子步骤:S21,通信链路双方的发送端都根据自定义协议连续发送第一固定格式的数据包;S22,通信链路双方根据接收到的第一固定格式的数据包判断各数据通道是否对齐;S23,如果各数据通道没有对齐,则继续执行步骤S21,如各数据通道对齐,则通信链路建立完成。
[0010]优选的,所述步骤S22具体包括子步骤:S221,各个数据通道的接收端计算接收到的第一固定格式的数据包中的特殊码字个数;S222,当所有数据通道接收到的都是特殊码字时,以特殊码字个数计数最小的数据通道为参考,其他数据通道依次按照特殊码字个数计数的差值进行相应的时延,实现各个数据通道的对齐。
[0011]优选的,所述步骤S4具体为:若所述数据包的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述数据包的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。
[0012]一种高速串行存储控制装置,其用于实施一种高速串行存储控制方法,其包括:至少一路高速串行通道;高速串行接口控制模块,用于来自接收高速串行通道的数据,转换成并行数据从多路数据通道输出;协议处理模块,用于建立多个数据通道的通信链路,并使多个数据通道对齐,并根据所定义的写数据包格式和/或读数据包格式对写数据包和/或读数据包进行解析;存储控制模块,用于根据数据包解析结果完成对存储器的读写操作。
[0013]优选的,所述存储控制模块根据接收的并行数据位宽与存储器位宽的差异,扩展多路串行数据和/或扩展多个存储器,使得并行数据总位宽与存储器总位宽保持一致。
[0014]优选的,所述存储器为静态随机存取存储器。
[0015]本发明的有益效果是:
本发明一种高速串行存储控制方法利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。
[0016]本发明可广泛应用于各种高速串行存储控制系统。
[0017]本发明的另一个有益效果是:
本发明一种高速串行存储控制系统利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。
[0018]本发明可广泛应用于各种高速串行存储控制系统。

【专利附图】

【附图说明】
[0019]下面结合附图对本发明的【具体实施方式】作进一步说明:
图1为本发明的高速串行存储控制方法一种实施例的流程图;
图2为本发明的高速串行存储控制装置一种实施例的结构示意图;
图3为本发明一种实施例的数据包结构图;
图4为本发明一种实施例的多通道对齐示意图。

【具体实施方式】
[0020]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0021]如图1所示,一种高速串行存储控制方法,其包括步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。
[0022]优选的,步骤SI中所述写数据包格式包括数据包头和数据包净荷两部分,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长指定了所述的数据包净荷传输的数据长度,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为写;步骤SI中所述读数据包格式包括数据包头,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长为固定值,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为读。由上述可见,读数据包格式与写数据包格式一致,不同的是没有数据包净荷部分,且数据包长为固定值,操作类型为读。
[0023]优选的,所述步骤S2具体包括子步骤:S21,通信链路双方的发送端都根据自定义协议连续发送第一固定格式的数据包;S22,通信链路双方根据接收到的第一固定格式的数据包判断各数据通道是否对齐;S23,如果各数据通道没有对齐,则继续执行步骤S21,如各数据通道对齐,则通信链路建立完成。
[0024]由于路径延时的差异,各个数据通道之间会出现不同程度的偏移。上电伊始,通信链路双方的发送端都根据自定义协议发送第一固定格式的数据包,主控的接收端在收到一定数量的第一固定格式数据包后,就认为与从设备的通信链路建立好了。所述一定数量的第一固定格式数据包与数据通道的数量和可实现正确数据通道对齐的偏移字数相关。具体如下:
所述步骤S22具体包括子步骤:S221,各个数据通道的接收端计算接收到的第一固定格式的数据包中的特殊码字个数;S222,当所有数据通道接收到的都是特殊码字时,以特殊码字个数计数最小的数据通道为参考,其他数据通道依次按照特殊码字个数计数的差值进行相应的时延,实现各个数据通道的对齐。
[0025]通信链路建立且各数据通道对齐之后,存在三种工作状态:读、写、空闲。具体的读、写操作可根据所述的定义数据包格式发送相关的数据包,空闲状态下发送端可发送第二固定格式数据包。
[0026]通信链路建立且各数据通道对齐之后,数据包类型标志信号,可以标识数据通道上传输的是读数据包、写数据包或第二固定格式数据包。
[0027]优选的,所述步骤S4具体为:若所述数据包的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述数据包的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。
[0028]所述的数据包类型标志信号标识为读数据包或写数据包时,接收端认为有效的数据包开始,进行数据包解析,同时将数据暂存。在数据包解析完成之后,取出对存储器的操作参数,所述的操作参数包括操作类型、操作地址、数据包净荷数据。若所述的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。
[0029]本发明一种高速串行存储控制方法利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。
[0030]本发明可广泛应用于各种高速串行存储控制系统。
[0031]如图2所示,一种高速串行存储控制装置,其用于实施一种高速串行存储控制方法,其包括:至少一路高速串行通道;高速串行接口控制模块,用于来自接收高速串行通道的数据,转换成并行数据从多路数据通道输出;协议处理模块,用于建立多个数据通道的通信链路,并使多个数据通道对齐,并根据所定义的写数据包格式和/或读数据包格式对写数据包和/或读数据包进行解析;存储控制模块,用于根据数据包解析结果完成对存储器的读写操作。
[0032]其中,高速串行接口控制模块包括接收侧和发送侧,接收侧实现将高速串行通道的数据转成并行数据输出,并根据高速串行接口协议完成相应的纠错解码和校验解码;发送侧实现并行数据转成高速串行通道数据输出,并根据高速串行接口协议完成相应的纠错编码和校验编码。
[0033]优选的,所述存储控制模块根据接收的并行数据位宽与存储器位宽的差异,扩展多路串行数据和/或扩展多个存储器,使得并行数据总位宽与存储器总位宽保持一致。
[0034]优选的,所述存储器为静态随机存取存储器。
[0035]下面以一种实施例详述一种高速串行存储控制装置的工作过程。
[0036]设定发明装置的工作时钟频率为125MHz。本实施例中设定了 4个通道,每通道带宽为lOGbps,经过高速串行接口控制模块的串并转换后出来并行4路16位宽的数据,经过协议处理模块的通道对齐后,并行64位数据经由存储控制模块对静态随机存取存储器进行读写操作。
[0037]本实施例中的静态随机存取存储器数据位宽为32比特,在对静态随机存取存储器进行写操作出现的空闲带宽(数据包长度不够8字节的整数倍)用固定字符PAD填充,例如8字节写操作,加上数据包头后总的数据包长度为12字节,不够8字节的整数倍,这时候会有4字节的PAD作为填充字符,接收侧会滤掉这些PAD字符,本实施例中的PAD字符为码字F7。
[0038]扩展2块数据位宽为32比特的静态随机存取存储器(SRAM),组成64位宽与并行数据对接,对数据包中的操作地址进行奇偶区分,奇地址操作SRAMl,偶地址操作SRAM2,两片SRAM可以同时操作,以满足带宽需求。
[0039]图3为本发明一种实施例的数据包结构图,数据包由数据包头和数据包净荷组成。本实施例中数据包头为4个字节,数据包长占据数据包头的最高4比特,操作类型占据数据包头的最低2比特,操作地址占据数据包头的中间26比特。
[0040]本实施例中,定义操作类型为二进制数00时为SRAM写操作,操作类型为二进制数11时为SRAM读操作;操作地址的26比特代表的地址空间为64兆比特;定义数据包长为4字节的整数倍,数据包长的4比特值表示的最大数据包长为64字节;数据包净荷只有在SRAM写操作时由发送侧发给接收侧才有效,在SRAM读操作时数据包净荷长度为O。
[0041]图4为本发明一种实施例的多通道对齐示意图,本实施例设计采用4个数据通道LANEO、LANEl、LANE2、LANE3,在数据接收端 LANEO,LANE1,LANE2,LANE3 由于延迟不同,接收的数据出现不同程度偏移,本实施例中通道对齐之前的固定格式I数据包指首码字5C搭配连续的码字1C,固定格式I数据包中的特殊码字为1C,通道对齐之后的固定格式2数据包指连续的码字3C。
[0042]图4所示的是LANEO没有偏移,LANEl偏移8位数据,LANE2偏移16位数据,LANE3偏移24位数据的情况,这里的偏移都以发送端的原始数据为标准。在数据接收端每个通道接收到5C字符后开始计数,计算IC字符个数,在通道对齐后(四个通道同时收到IC字符)计数停止。以IC字符最少的通道为标准,延迟其他通道的数据(延迟周期数为IC字符最少通道和其他通道的IC字符个数之差),可以完成通道间的数据对齐操作。
[0043]本发明一种高速串行存储控制装置利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。
[0044]本发明可广泛应用于各种高速串行存储控制系统。
[0045]以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
【权利要求】
1.一种高速串行存储控制方法,其特征在于,其包括步骤: Si,定义写数据包格式和/或读数据包格式; S2,建立多个数据通道的通信链路并使多个数据通道对齐; S3,根据定义的写数据包格式和/或读数据包格式解析数据包; S4,读/写存储器。
2.根据权利要求1所述的一种高速串行存储控制方法,其特征在于: 步骤SI中所述写数据包格式包括数据包头和数据包净荷两部分,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长指定了所述的数据包净荷传输的数据长度,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为写; 步骤SI中所述读数据包格式包括数据包头,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长为固定值,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为读。
3.根据权利要求1所述的一种高速串行存储控制方法,其特征在于,所述步骤S2具体包括子步骤: S21,通信链路双方的发送端都根据自定义协议连续发送第一固定格式的数据包; S22,通信链路双方根据接收到的第一固定格式的数据包判断各数据通道是否对齐;S23,如果各数据通道没有对齐,则继续执行步骤S21,如各数据通道对齐,则通信链路建立完成。
4.根据权利要求3所述的一种高速串行存储控制方法,其特征在于,所述步骤S22具体包括子步骤: S221,各个数据通道的接收端计算接收到的第一固定格式的数据包中的特殊码字个数; S222,当所有数据通道接收到的都是特殊码字时,以特殊码字个数计数最小的数据通道为参考,其他数据通道依次按照特殊码字个数计数的差值进行相应的时延,实现各个数据通道的对齐。
5.根据权利要求2至4任一项所述的一种高速串行存储控制方法,其特征在于,所述步骤S4具体为:若所述数据包的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述数据包的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。
6.一种高速串行存储控制装置,其特征在于,其用于实施如权利要求1至5任一项所述的一种高速串行存储控制方法,其包括: 至少一路闻速串彳丁通道; 高速串行接口控制模块,用于来自接收高速串行通道的数据,转换成并行数据从多路数据通道输出; 协议处理模块,用于建立多个数据通道的通信链路,并使多个数据通道对齐,并根据所定义的写数据包格式和/或读数据包格式对写数据包和/或读数据包进行解析; 存储控制模块,用于根据数据包解析结果完成对存储器的读写操作。
7.根据权利要求6所述的一种高速串行存储控制装置,其特征在于,所述存储控制模块根据接收的并行数据位宽与存储器位宽的差异,扩展多路串行数据和/或扩展多个存储器,使得并行数据总位宽与存储器总位宽保持一致。
8.根据权利要求6或7所述的一种高速串行存储控制装置,其特征在于,所述存储器为静态随机存取存储器。
【文档编号】G06F13/16GK104461963SQ201410707536
【公开日】2015年3月25日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】何凯, 王黎明, 王文青, 刘建新 申请人:深圳市国微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1