《一种高速串行存储控制方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种高速串行存储控制方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410707536.7(22)申请日 2014.11.27G06F 13/16(2006.01)(71)申请人深圳市国微电子有限公司地址 518057 广东省深圳市高新技术产业园南区高新南一道国微大厦6层(72)发明人何凯 王黎明 王文青 刘建新(74)专利代理机构广州嘉权专利商标事务所有限公司 44205代理人唐致明(54) 发明名称一种高速串行存储控制方法及装置(57) 摘要本发明公开了一种高速串行存储控制方法和装置。方法包括步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S。
2、3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。装置包括至少一路高速串行通道、高速串行接口控制模块、协议处理模块和存储控制模块。本发明利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有接口简单、数据可靠性高的优点。本发明可广泛应用于各种高速串行存储控制系统。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书5页 附图2页(10)申请公布号 CN 104461。
3、963 A(43)申请公布日 2015.03.25CN 104461963 A1/2页21.一种高速串行存储控制方法,其特征在于,其包括步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。2.根据权利要求1所述的一种高速串行存储控制方法,其特征在于:步骤S1中所述写数据包格式包括数据包头和数据包净荷两部分,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长指定了所述的数据包净荷传输的数据长度,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为写。
4、;步骤S1中所述读数据包格式包括数据包头,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长为固定值,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为读。3.根据权利要求1所述的一种高速串行存储控制方法,其特征在于,所述步骤S2具体包括子步骤:S21,通信链路双方的发送端都根据自定义协议连续发送第一固定格式的数据包;S22,通信链路双方根据接收到的第一固定格式的数据包判断各数据通道是否对齐;S23,如果各数据通道没有对齐,则继续执行步骤S21,如各数据通道对齐,则通信链路建立完成。4.根据权利要求3所述的一种高速串行存储控制方法,其特征在于,所述步骤S22具体包括子步。
5、骤:S221,各个数据通道的接收端计算接收到的第一固定格式的数据包中的特殊码字个数;S222,当所有数据通道接收到的都是特殊码字时,以特殊码字 个数计数最小的数据通道为参考,其他数据通道依次按照特殊码字个数计数的差值进行相应的时延,实现各个数据通道的对齐。5.根据权利要求2至4任一项所述的一种高速串行存储控制方法,其特征在于,所述步骤S4具体为:若所述数据包的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述数据包的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。6.一种高速串行存储控制装置,其特征在于,其用于实施如权利要求1至5任一项所述的一种高。
6、速串行存储控制方法,其包括:至少一路高速串行通道;高速串行接口控制模块,用于来自接收高速串行通道的数据,转换成并行数据从多路数据通道输出;协议处理模块,用于建立多个数据通道的通信链路,并使多个数据通道对齐,并根据所定义的写数据包格式和/或读数据包格式对写数据包和/或读数据包进行解析;存储控制模块,用于根据数据包解析结果完成对存储器的读写操作。7.根据权利要求6所述的一种高速串行存储控制装置,其特征在于,所述存储控制模块根据接收的并行数据位宽与存储器位宽的差异,扩展多路串行数据和/或扩展多个存储权 利 要 求 书CN 104461963 A2/2页3器,使得并行数据总位宽与存储器总位宽保持一致。。
7、8.根据权利要求6或7所述的一种高速串行存储控制装置,其特征在于,所述存储器为静态随机存取存储器。权 利 要 求 书CN 104461963 A1/5页4一种高速串行存储控制方法及装置技术领域0001 本发明涉及数据传输及存储领域,尤其涉及一种高速串行存储控制方法,本发明还涉及一种高速串行存储控制装置。背景技术0002 存储器一直占据集成电路市场的1/3左右,静态随机存取存储器(SRAM:Static Random Access Memory)由于其读写快速和低功耗的优点,在存储器应用市场占据较大份额,特别是对读写时延和功耗要求高的嵌入式领域。但由于其内部结构复杂,占用面积大,不适宜集成大容量。
8、的存储应用,即便集成为大容量的SRAM,其对外接口较多,且数据传输的可靠性不高,易受信号走线上的各种干扰。0003 高速串行接口由于其串行特性、差分信号传输和8B/10B编码,在高速数据传输中应用广泛,如其中的SATA 3.0(Serial Advanced Technology Attachment,串行高级技术附件)版本的带宽可达6Gbps,传输速度高达600MB/s,而且数据传输相当可靠,驱动电压较低。0004 若将高速串行接口经过某种协议转换、存储控制和实现,连接到SRAM上,结合高速串行接口特性和SRAM的高速读写特性,这样的SRAM易扩展成大容量,存储体的接口简单走线方便,数据传输。
9、高速且抗干扰性强,本发明即基于此。发明内容0005 为了实现上述目的,本发明提供一种可以完美结合高速串行接口的高吞吐率和静态随机存取存储器的读写迅速优点的存储控制方法。0006 为了实现上述目的,本发明提供一种可以完美结合高速串行接口的高吞吐率和静态随机存取存储器的读写迅速优点的存储控制装置。0007 本发明所采用的技术方案是:一种高速串行存储控制方法,其包括步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。0008 优选的,步骤S1中所述写数据包格式包括数据包头和。
10、数据包净荷两部分,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长指定了所述的数据包净荷传输的数据长度,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为写;步骤S1中所述读数据包格式包括数据包头,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长为固定值,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为读。0009 优选的,所述步骤S2具体包括子步骤:S21,通信链路双方的发送端都根据自定义协议连续发送第一固定格式的数据包;S22,通信链路双方根据接收到的第一固定格式的数据包判断各数据通道是否对齐;S23,如果各数据通道没有对齐,则继续执行。
11、步骤S21,如各说 明 书CN 104461963 A2/5页5数据通道对齐,则通信链路建立完成。0010 优选的,所述步骤S22具体包括子步骤:S221,各个数据通道的接收端计算接收到的第一固定格式的数据包中的特殊码字个数;S222,当所有数据通道接收到的都是特殊码字时,以特殊码字个数计数最小的数据通道为参考,其他数据通道依次按照特殊码字个数计数的差值进行相应的时延,实现各个数据通道的对齐。0011 优选的,所述步骤S4具体为:若所述数据包的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述数据包的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。。
12、0012 一种高速串行存储控制装置,其用于实施一种高速串行存储控制方法,其包括:至少一路高速串行通道;高速串行接口控制模块,用于来自接收高速串行通道的数据,转换成并行数据从多路数据通道输出;协议处理模块,用于建立多个数据通道的通信链路,并使多个数据通道对齐,并根据所定义的写数据包格式和/或读数据包格式对写数据包和/或读数据包进行解析;存储控制模块,用于根据数据包解析结果完成对存储器的读写操作。0013 优选的,所述存储控制模块根据接收的并行数据位宽与存储器位宽的差异,扩展多路串行数据和/或扩展多个存储器,使得并行数据总位宽与存储器总位宽保持一致。0014 优选的,所述存储器为静态随机存取存储器。
13、。0015 本发明的有益效果是:本发明一种高速串行存储控制方法利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。0016 本发明可广泛应用于各种高速串行存储控制系统。0017 本发明的另一个有益效果是:本发明一种高速串行存储控制系统利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而。
14、实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。0018 本发明可广泛应用于各种高速串行存储控制系统。附图说明0019 下面结合附图对本发明的具体实施方式作进一步说明:图1为本发明的高速串行存储控制方法一种实施例的流程图;图2为本发明的高速串行存储控制装置一种实施例的结构示意图;图3为本发明一种实施例的数据包结构图;图4为本发明一种实施例的多通道对齐示意图。具体实施方式0020 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。说 明 书CN 104461963 A3/5页60021 如图1所示,一种高速串行存储控制方法,其包括。
15、步骤:S1,定义写数据包格式和/或读数据包格式;S2,建立多个数据通道的通信链路并使多个数据通道对齐;S3,根据定义的写数据包格式和/或读数据包格式解析数据包;S4,读/写存储器。0022 优选的,步骤S1中所述写数据包格式包括数据包头和数据包净荷两部分,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长指定了所述的数据包净荷传输的数据长度,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为写;步骤S1中所述读数据包格式包括数据包头,所述的数据包头包括数据包长、操作地址和操作类型;所述的数据包长为固定值,所述的操作地址用于识别通信链路上连接的存储器,所述的操作类型为读。。
16、由上述可见,读数据包格式与写数据包格式一致,不同的是没有数据包净荷部分,且数据包长为固定值,操作类型为读。0023 优选的,所述步骤S2具体包括子步骤:S21,通信链路双方的发送端都根据自定义协议连续发送第一固定格式的数据包;S22,通信链路双方根据接收到的第一固定格式的数据包判断各数据通道是否对齐;S23,如果各数据通道没有对齐,则继续执行步骤S21,如各数据通道对齐,则通信链路建立完成。0024 由于路径延时的差异,各个数据通道之间会出现不同程度的偏移。上电伊始,通信链路双方的发送端都根据自定义协议发送第一固定格式的数据包,主控的接收端在收到一定数量的第一固定格式数据包后,就认为与从设备的。
17、通信链路建立好了。所述一定数量的第一固定格式数据包与数据通道的数量和可实现正确数据通道对齐的偏移字数相关。具体如下:所述步骤S22具体包括子步骤:S221,各个数据通道的接收端计算接收到的第一固定格式的数据包中的特殊码字个数;S222,当所有数据通道接收到的都是特殊码字时,以特殊码字个数计数最小的数据通道为参考,其他数据通道依次按照特殊码字个数计数的差值进行相应的时延,实现各个数据通道的对齐。0025 通信链路建立且各数据通道对齐之后,存在三种工作状态:读、写、空闲。具体的读、写操作可根据所述的定义数据包格式发送相关的数据包,空闲状态下发送端可发送第二固定格式数据包。0026 通信链路建立且各。
18、数据通道对齐之后,数据包类型标志信号,可以标识数据通道上传输的是读数据包、写数据包或第二固定格式数据包。0027 优选的,所述步骤S4具体为:若所述数据包的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内;若所述数据包的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。0028 所述的数据包类型标志信号标识为读数据包或写数据包时,接收端认为有效的数据包开始,进行数据包解析,同时将数据暂存。在数据包解析完成之后,取出对存储器的操作参数,所述的操作参数包括操作类型、操作地址、数据包净荷数据。若所述的操作类型为写,则将数据包净荷数据按序写入存储器的操作地址空间内。
19、;若所述的操作类型为读,则依序取出存储器操作地址上的数据,组成读数据包格式发送出去。0029 本发明一种高速串行存储控制方法利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体说 明 书CN 104461963 A4/5页7的构建,还具有传输高速、接口简单、数据可靠性高的优点。0030 本发明可广泛应用于各种高速串行存储控制系统。0031 如图2所示,一种高速串行存储控制装置,其用于实施一种高速串行存储控制方法,其包括:至少一路高速串行通道;高速串行。
20、接口控制模块,用于来自接收高速串行通道的数据,转换成并行数据从多路数据通道输出;协议处理模块,用于建立多个数据通道的通信链路,并使多个数据通道对齐,并根据所定义的写数据包格式和/或读数据包格式对写数据包和/或读数据包进行解析;存储控制模块,用于根据数据包解析结果完成对存储器的读写操作。0032 其中,高速串行接口控制模块包括接收侧和发送侧,接收侧实现将高速串行通道的数据转成并行数据输出,并根据高速串行接口协议完成相应的纠错解码和校验解码;发送侧实现并行数据转成高速串行通道数据输出,并根据高速串行接口协议完成相应的纠错编码和校验编码。0033 优选的,所述存储控制模块根据接收的并行数据位宽与存储。
21、器位宽的差异,扩展多路串行数据和/或扩展多个存储器,使得并行数据总位宽与存储器总位宽保持一致。0034 优选的,所述存储器为静态随机存取存储器。0035 下面以一种实施例详述一种高速串行存储控制装置的工作过程。0036 设定发明装置的工作时钟频率为125MHz。本实施例中设定了4个通道,每通道带宽为10Gbps,经过高速串行接口控制模块的串并转换后出来并行4路16位宽的数据,经过协议处理模块的通道对齐后,并行64位数据经由存储控制模块对静态随机存取存储器进行读写操作。0037 本实施例中的静态随机存取存储器数据位宽为32比特,在对静态随机存取存储器进行写操作出现的空闲带宽(数据包长度不够8字节。
22、的整数倍)用固定字符PAD填充,例如8字节写操作,加上数据包头后总的数据包长度为12字节,不够8字节的整数倍,这时候会有4字节的PAD作为填充字符,接收侧会滤掉这些PAD字符,本实施例中的PAD字符为码字F7。0038 扩展2块数据位宽为32比特的静态随机存取存储器(SRAM),组成64位宽与并行数据对接,对数据包中的操作地址进行奇偶区分,奇地址操作SRAM1,偶地址操作SRAM2,两片SRAM可以同时操作,以满足带宽需求。0039 图3为本发明一种实施例的数据包结构图,数据包由数据包头和数据包净荷组成。本实施例中数据包头为4个字节,数据包长占据数据包头的最高4比特,操作类型占据数据包头的最低。
23、2比特,操作地址占据数据包头的中间26比特。0040 本实施例中,定义操作类型为二进制数00时为SRAM写操作,操作类型为二进制数11时为SRAM读操作;操作地址的26比特代表的地址空间为64兆比特;定义数据包长为4字节的整数倍,数据包长的4比特值表示的最大数据包长为64字节;数据包净荷只有在SRAM写操作时由发送侧发给接收侧才有效,在SRAM读操作时数据包净荷长度为0。0041 图4为本发明一种实施例的多通道对齐示意图,本实施例设计采用4个数据通道LANE0、LANE1、LANE2、LANE3,在数据接收端LANE0,LANE1,LANE2,LANE3由于延迟不同,接收的数据出现不同程度偏移。
24、,本实施例中通道对齐之前的固定格式1数据包指首码字5C搭配连续的码字1C,固定格式1数据包中的特殊码字为1C,通道对齐之后的固定格式2数据包说 明 书CN 104461963 A5/5页8指连续的码字3C。0042 图4所示的是LANE0没有偏移,LANE1偏移8位数据,LANE2偏移16位数据,LANE3偏移24位数据的情况,这里的偏移都以发送端的原始数据为标准。在数据接收端每个通道接收到5C字符后开始计数,计算1C字符个数,在通道对齐后(四个通道同时收到1C字符)计数停止。以1C字符最少的通道为标准,延迟其他通道的数据(延迟周期数为1C字符最少通道和其他通道的1C字符个数之差),可以完成通。
25、道间的数据对齐操作。0043 本发明一种高速串行存储控制装置利用协议的转换和存储控制,实现高速串行接口的高吞吐率和静态随机存取存储器的读写迅速的完美结合,而且实现高速串行接口的通道数、静态随机存取存储器的容量的可扩展设计,进而实现大容量、高速、高密度的存储体的构建,还具有传输高速、接口简单、数据可靠性高的优点。0044 本发明可广泛应用于各种高速串行存储控制系统。0045 以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。说 明 书CN 104461963 A1/2页9图1图2说 明 书 附 图CN 104461963 A2/2页10图3图4说 明 书 附 图CN 104461963 A10。