CN100358320C - 一种数据包存储的管理方法和装置 - Google Patents
一种数据包存储的管理方法和装置 Download PDFInfo
- Publication number
- CN100358320C CN100358320C CNB2003101210795A CN200310121079A CN100358320C CN 100358320 C CN100358320 C CN 100358320C CN B2003101210795 A CNB2003101210795 A CN B2003101210795A CN 200310121079 A CN200310121079 A CN 200310121079A CN 100358320 C CN100358320 C CN 100358320C
- Authority
- CN
- China
- Prior art keywords
- memory
- data block
- packet
- label
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000003860 storage Methods 0.000 title claims abstract description 70
- 238000007726 management method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims description 30
- 102000006479 Heterogeneous-Nuclear Ribonucleoproteins Human genes 0.000 claims description 13
- 108010019372 Heterogeneous-Nuclear Ribonucleoproteins Proteins 0.000 claims description 13
- 238000004513 sizing Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 8
- 238000012937 correction Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 2
- 238000013500 data storage Methods 0.000 abstract 1
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 108091006595 SLC15A3 Proteins 0.000 description 3
- 102100021485 Solute carrier family 15 member 3 Human genes 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据包存储的管理方法和装置,其核心为:将存储器划分为预定大小的至少一个存储块;当所述的存储器需要对数据包存储时,根据所述存储器中各存储块的可存储空间将数据包划分为相应大小的至少一个数据块;根据所述数据包承载的状态信息确定所述数据块分别对应的标签;将所述标签和其对应的数据块存储在相应的存储块中。本发明通过将存储器分块管理,将数据包根据存储块、标签进行存储管理,避免了数据包的长度、存储器数据通道的数量对存储器资源的影响,使存储器便于管理,对于存储器的读写错误有纠错功能,从而实现了节约存储资源、提高数据存储效率、提高存储器自纠错能力的目的。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及一种数据包存储的管理方法和装置。
背景技术
在对数据包进行处理的逻辑设计中,许多情况下需要对数据包进行存储管理,现有技术提供了如下两种存储方案对数据包进行存储管理,下面以存储器为32bit位宽的SDRAM(同步动态随机存取存储器)为例,对现有技术提供的存储方案进行说明。
第一种存储方案:数据包采用双字节存储于SDRAM中。由于数据包采用双字节进行存储,每个双字节需要包含SOP(包头指示信号)、EOP(包尾指示信号)、ERR(错包指示信号)以及MOD[1:0](有效字节指示信号)等信息,也就是说,存储器每进行一个双字节的存储需要存储37bit,一般需要将37bit的数据分拆成一个16bit的数据以及一个21bit的数据分别进行存储,但是这样浪费了大量的存储器资源。
第二种存储方案:增加帧头标志存储。该方案在实现数据包的存储时,需要在数据包间隙,插入一个32bit位宽的帧头标志,该帧头标志的格式如表1所示。
表1
Bit[31:12] | Bit[11] | Bit[10:9] | Bit[8:0] |
F6F28 | 错误指示(err) | 模式指示(mod) | 包长计数值 |
该方案的具体实现结构图如附图1所示。
在图1中,将数据包存储在SDRAM中的过程为:首先,将37-bit位宽转换为32-bit位宽格式,然后,在数据包的最前面插入帧头信息,最后,由SDRAM控制器将帧头标志和整个数据包写入SDRAM中。由于帧头标志中包含数据包包长信息,所以在位宽转换过程中需要进行包长统计。为实现包长统计需要SDRAM的缓存接收一个完整的数据包,并在其接收完一个包的包尾之后指针回跳,将帧头标志写入到数据包包头的前一个地址中,帧头标志写入之后,SDRAM控制器将帧头标志和数据包写入到SDRAM中。
将SDRAM中存储的数据包读取的过程为:将SDRAM中存储的数据包以32bit位宽的以太网数据形式读入SDRAM缓存中,经过SDRAM缓存后进入格式恢复过程,在该过程中通过帧定位的方式把SDRAM缓存中的32bit位宽的数据恢复成带有状态信息的37bit位宽的数据,即恢复出以太网数据包的包头指示信息(sop)、包尾指示信息(eop)、错包指示信息(err)、包尾字节模式指示信息(mod)。
格式恢复的具体过程为:在上一个包的包长递减计数器递减为0时开始进行帧头标志搜索,对SDRAM输出的数据进行采样,如果采样到的数据的前20比特是F6F28时,就认为采样到了帧头字节,同时获取帧头字节包含的相应信息,这样就恢复出了以太网包的错包指示信息、包尾字节模式指示信息和包长信息。
在上述实现方案中,由于帧头标志需要有包长信息,因此在进行37bit位宽转换为32bit位宽的格式转换时,至少需要将一个完整的数据包存储下来,这样需要增加额外的缓存,特别是在存储器支持的数据包长比较大,并且数据通道比较多时,会占用大量的额外缓存,占用系统资源。对于超短数据包,采用这样的存储方案会浪费存储器的资源。另外,如果帧头标志出错,由于该方案没有纠错功能,可能会导致连续存储的多个数据包出错。
发明内容
本发明的目的在于,提供一种数据包存储的管理方法和装置,通过将存储器、数据包分块,利用标签进行数据包的存取管理,以实现节约存储器资源,提高存储器存储效率,提高存储器自纠错能力的目的。
为达到上述目的,本发明提供的一种数据包存储的管理方法,包括:
a、将存储器划分为预定大小的至少一个存储块;
b、当所述的存储器需要对数据包存储时,根据所述存储器中各存储块的可存储空间将数据包划分为相应大小的至少一个数据块;
c、根据所述数据包承载的状态信息确定所述数据块分别对应的标签,所述标签包括:数据块在数据包中的位置信息,数据块大小信息;
d、将所述标签和其对应的数据块存储在相应的存储块中。
当所述的预定大小为N×M比特,所述的存储块中已存储n×M比特+k比特时,如果所述的k不等于零且小于M,所述的存储块的可存储空间为(N-n-1)×M比特;
如果所述的k等于零,所述的存储块的可存储空间为(N-n)×M比特;
其中n、N、M、k为正整数。
所述数据包承载的状态信息包括:包头指示信息、包尾指示信息、错包指示信息。
所述的数据包承载的状态信息还包括:包尾字节模式指示信息,用于指示数据总线中有多少字节是有效的。
所述的标签还包括:错包信息;
所述的数据块在数据包中的位置信息包括:包头数据块信息、中间包数据块信息、包尾数据块信息;所述的标签的数据块大小信息以字节表示;
所述的标签占用的比特位根据所述预定大小的存储块确定。
所述的步骤d包括:
将所述的数据块和其对应的标签存入缓冲存储器中,根据所述存储器的写控制器将所述缓冲存储器中的数据块和其对应的标签写入所述存储器。
所述的方法还包括:根据所述存储器的读控制器将所述存储器中存储的标签读出;根据所述读出的标签承载的信息读出相应的数据块,并确定数据块的块头信息、块尾信息及该数据块是否包含有包尾数据块信息;所述块头信息表示数据块的开始数据,所述块尾信息表示数据块的结尾数据,所述包尾数据块信息表示该数据块为数据包的结尾数据块;
根据上述信息和所述标签承载的信息确定数据包的状态信息;
根据所述确定的数据包的状态信息恢复数据包。
所述的方法还包括:确定所述标签对应的存储块中,从所述标签开始至所述存储块的结束位置所述存储块所能存储的数据块的最大字节数;
当所述读出的标签的数据块大小信息超出所述最大字节数时,将所述标签的数据块大小信息更新为所述最大字节数,并将所述标签的错包信息设置为错包,同时将下一个读出的数据块的标签中数据块在数据包中的位置信息更新为包头数据块信息。
所述的方法还包括:记录所述存储器中存储的最后一个数据块的块尾存储地址;当读取所述最后一个数据块的标签,所述标签中的数据块在数据包中的位置信息不包含包尾数据块信息时,根据所述记录的块尾存储地址设定包尾数据块信息,并将所述标签对应的数据块恢复的数据包设置错包信息。
本发明还提供一种数据包存储的管理装置,包括:
编码模块:根据存储器的各存储块的可存储空间将数据包划分为至少一个数据块,并根据所述数据包的状态信息确定所述至少一个数据块分别对应的标签,将所述标签和对应的数据块传输至存储模块;所述标签包括:数据块在数据包中的位置信息,数据块大小信息;
存储模块:接收所述编码模块传输来的所述标签和对应的数据块,并将其存储在相应的存储块中。
所述的存储模块包括:
缓冲存储器:接收并存储所述编码模块传输来的所述标签和对应的数据块,并根据读写控制器的写命令允许所述读写控制器将缓冲存储器存储的标签和数据块写入存储器中;
存储器:根据所述读写控制器的写命令允许读写控制器将所述缓冲存储器中存储的标签和数据块写入相应的存储块中;
读写控制器:向所述存储器发送写命令,将所述缓冲存储器中存储的标签和数据块写入所述存储器中。
所述的装置还包括:
解码模块:根据所述存储模块中存储的标签和其对应的数据块,将数据块恢复为数据包。
通过上述技术方案的描述可明显得知,本发明通过将存储器分为预定大小的存储块,使存储器便于管理;由于本发明不需要进行数据包的包长统计,节约了电路中额外缓存的占用,从而节约了系统资源;由于数据包对应的各数据块和标签在存储块中连续存放,使存储器的存储空间得到了充分的利用;通过数据块对应的标签对数据块进行存储管理,由于标签中承载了数据块的字节数,可对存储器的读写错误进行自纠错处理;从而实现了节约存储器资源,提高存储器的存储效率,提高存储器的纠错能力的目的。
附图说明
图1是现有技术中插入帧头标志实现数据包存储结构示意图;
图2是本发明的数据包在SDRAM中的存储结构示意图;
图3是本发明的实现数据包存储结构示意图;
图4是本发明的块解码示意图。
具体实施方式
本发明的核心思想为:将存储器划分为预定大小的存储块,根据存储器中各存储块可存储的空间将数据包划分为相应大小的数据块,并根据数据包承载的状态信息确定每个数据块分别对应的标签,通过数据块的标签对数据包进行存储管理。
基于本发明的核心思想,本发明提供如下技术方案:
将存储器根据预定大小划分为至少1个存储块。为方便数据块的存储,可将预定大小设定为16×32比特,存储器应划分为16×32比特的存储块,这样,一个存储块所能存储的最大字节数为64个字节。数据包需要根据存储器的各存储块的可存储空间划分为相应大小的数据块。
由于每个数据包的长度不定,所以存储器的存储块会出现被数据块占用了一部分存储空间的现象,为便于存储器的管理,本发明设定数据块和其对应的标签应从存储块中一行起始的位置开始存储。基于上述规定,如果预定大小为N×M比特,当存储块中已存储(n×M比特+k比特)时,如果k不为零,存储块的可存储空间为(N-n-1)×M比特;如果k为零,存储块的可存储空间为(N-n)×M比特;其中n、N、M、k为正整数。
举例具体说明,如果存储器划分为16×32比特的存储块,当存储块中已存储了4×32比特+8比特时,存储块的可存储空间为11×32比特。如果存储块的起始行为第0行,那么数据块和其对应的标签应该从第5行的第0比特位开始存储。当存储块中已存储了4×32比特时,存储块的可存储空间为12×32比特。如果存储块的起始行为第0行,那么数据块和其对应的标签应该从第4行的第0比特位开始存储。
存储块的可存储空间不应小于1×M比特。
将数据包划分为数据块需要确定每个数据块的标签,数据块的标签的内容包括该数据块在数据包中的位置信息,错包信息,该数据块大小信息。数据块在数据包中的位置信息包括包头数据块信息、中间包数据块信息、包尾数据块信息。包头数据块信息可明确指示出该数据块是否为数据包的开始数据块,中间包数据块信息可明确指示出该数据块是否为数据包的中间段数据块,包尾数据块信息可明确指示出该数据块是否为数据包的结束段数据块。
错包信息表示该数据包是否为错包,该错包信息仅在包尾数据块的标签中有效。
数据块大小信息以字节数表示,可明确该数据块包含的字节数。
数据块的标签需要根据数据包的状态信息来确定,数据包的状态信息包括包头指示信息、包尾指示信息、错包指示信息。对于数据总线不是8-bit的数据包,数据包的状态信息还包括包尾字节模式信号。包尾字节模式信号用来指示数据总线中有多少字节是有效的。
上述确定数据块标签的过程可以称为编码过程,依照上述描述确定数据块标签的方法可以称为编码规则。在编码过程中,为提高存储器的自纠错能力,编码规则还应该包括:标签中数据块大小信息表示的字节数不应该超过其所在存储块从该标签的位置开始至该存储块块尾所能存储数据块的最大字节数。
下面通过一个具体的例子来说明数据块的标签是如何确定的。
设定SDRAM划分为16×32比特的存储块。数据块的标签需要8比特位宽,第0比特位为数据块在数据包中的位置信息,设定‘0’表示此数据块为数据包的开始数据块或中间数据块,‘1’表示此数据块为数据包的结束数据块。第1比特位为错包信息,设定‘0’表示此数据包没有错误,‘1’表示此数据包为错包。第2至第7比特位为数据块大小信息。由于存储块最大可存储64个字节,所以需要6比特来表示数据块大小信息,在本实施例中,为便于理解,使用具体数字来表示标签的第2至第7比特位表示的结果,如63表示数据块在其存储的存储块中包含63个字节,0表示数据块在该存储块内有效数据截止,存储块内该标签后面的剩余空间空闲不用。
当获取到数据包的包头指示信息时,开始根据各存储块的可存储字节数对数据包进行数据块划分,如果存储块可存储空间为20个字节,那么将数据包首先划分出第1个长度为19的数据块,第1个数据块的标签前两比特位为‘00’,后六比特位表示的结果为19个字节;该存储块存储了第1个数据块和标签之后,下一个存储块由于其可存储空间为64个字节,所以接着从数据包中划分出第2个长度为63个字节数据块,第2个数据块的标签前两比特位为‘00’,后六比特位表示的结果为63个字节;该存储块存储了第2个数据块和标签之后,再下一个存储块由于其可存储空间为64个字节,所以接着从数据包中划分出第3个长度为63个字节的数据块,如果此时数据包只剩下11个字节未存储,则第3个数据块的长度为11个字节,如果该数据包为错包,则第3个数据块的标签前两比特位为‘11’,后六比特位表示的结果为11个字节;存储在对应的存储块中,该存储块的可存储空间改变为52个字节。
下面结合附图2对数据包在SDRAM中的存储做进一步的说明。
在图2中,SDRAM被划分为16×32比特的存储块,SDRAM中存储了3个数据包,第一个数据包存储在下划线所示的存储块中,第二个数据包存储在上划线所示的存储块中,第三个数据包存储在竖划线所示的存储块中。
在本实施例中我们不对数据块的标签的第一、第二比特位进行说明,仅以PTR+数字的形式来表示该数据块的标签,该标签表示该数据块包含的字节数。
第一个数据包根据SDRAM的存储块划分为两个数据块,第一个数据块包含数据包的包头,该数据块刚好处于第一个存储块的开始部位,所以第一个数据块的标签为PTR63。第二个数据块包含数据包的包尾,该数据块的长度为19个字节,第二个数据块的标签为PTR19,第一个数据包的第二个数据块和PTR19存储于第二个存储块的开始部位。
第二个数据包由于只包含26个字节,而第二个存储块的可存储空间只占用了20个字节,还剩下44个字节,所以第二个数据包只划分为一个数据块,其对应的标签为PTR26,第二个数据包的数据块和PTR26存储于第二个存储块的中间部位。
第三个数据包由于其长度为41个字节,而第二个存储块的可存储空间还剩下12个字节,所以第三个数据包首先需要划分出第一个长度为11个字节的数据块,其对应的标签为PTR11,第三个数据包的第一个数据块和PTR11存储于第二个存储块中,然后再划分出一个长度为30个字节的数据块,其对应的标签为PTR30,第三个数据包的第二个数据块和PTR30存储于第三个存储块的开始部位。
第三个存储块中的可存储空间为32个字节,由于第三个数据包后面没有可存储的数据块,所以在第三个数据包的第二个数据块后面一行的开始部位打上标签PTR0,表示数据块截止,该标签后面为存储块的可存储空间。
当需要将存储器中存储的数据块恢复为数据包时,需要分两个步骤完成:
1、将存储器中存储的数据块识别出来,2、将识别出来的数据块恢复为数据包。
对于第一个步骤,首先需要根据存储器的读控制器将存储器中存储的标签读出,根据读出的标签中的承载的数据块在数据包中的位置信息,错包信息,该数据块大小信息读出相应的数据块,并确定数据块信息,即确定当前读出的数据是处于块的开始数据、中间数据或结尾数据,同时识别块属性,即确定该数据块是否含有包尾数据块信息;这样,一个完整的数据块从存储器读出。
对于第二个步骤,需要根据标签承载的信息确定数据包的状态信息,再根据上述数据块信息、数据包状态信息和读出的各数据块恢复出完整的数据包。从存储器中读取数据块恢复数据包的过程可以称为解码过程。解码过程中通过标签获取数据包状态信息的过程与数据包存储时数据包状态信息转换为标签的过程相反。在这里不详细说明。
在解码过程中由于存储器在存储数据块和标签时出现读写错误,会使标签中的比特位出现存储错误现象,如出现标签中的数据块大小信息超过存储块可存储空间的现象,再如出现标签中的包尾数据块信息存储错误现象。针对上述两种错误现象,结合附图3对本发明提供的纠错技术方案做进一步说明。
在图3中,一个存储块存储了两个数据包,数据包A、数据包B,数据包B为存储器中最后一个数据块。当需要恢复数据包B时,读取PTR3,由于该数据包只包含一个数据块,所以该数据块的标签中第0比特位应该为‘1’,表示该数据块为包尾数据块。如果由于存储器的读写错误将第0比特位写为‘0’,则该数据包由于恢复不出包尾数据块信息而无法从存储器中读出。当发生此错误时,由于存储器的实现电路中记录了该数据块的块尾存储地址,所以可将该3个字节读出,并重新设置该标签中的包尾数据块信息和错包信息,根据重新设置的标签恢复数据包的状态信息,再根据数据块信息、数据包状态信息和读出的数据块恢复出完整的数据包B。该数据包B为错包。
再如当需要恢复数据包B时,读取PTR3,进行解码过程,在解码过程中判断是否违反了编码规则。由于数据包A为PTR36,所述从PTR3开始至该存储块的结束位置,该存储块所能存储的数据块的最大字节数为23个字节;当读出的数据包B的标签中数据块大小信息超出23个字节时,说明SDRAM读写时发生了错误,致使对PTR字节的解释发生异常,必须自动纠正过来。纠正过程为:将数据包B的标签中的数据块大小信息更新为23,重新设置标签中的包尾数据块信息和错包信息。根据重新设置的标签恢复数据包的状态信息,再根据数据块信息、数据包状态信息和读出的数据块恢复出完整的数据包。该数据包B为错包。下一数据块被自动认为是包头块,当读取到包尾标识时,将该数据包也打错包标识。在其后数据块的解码过程恢复正常。
本发明还提供一种数据包存储的管理装置,如附图4所示。
在图4中,数据包存储的管理装置包括:编码模块400,存储模块410,解码模块420。存储模块410的功能由缓冲存储器411,读写控制器412,存储器413实现。
编码模块410根据存储器的各存储块的可存储空间将数据包划分为至少一个数据块,并将数据包承载的状态信息根据上述方法中描述的编码规则确定每个数据块分别对应的标签,将标签和对应的数据块传输至缓冲存储器411中。
缓冲存储器411也是根据存储器413中存储块的预定大小划分为对应的存储块。
缓冲存储器411接收存储编码模块410传输来的所述标签和对应的数据块,将其存储在对应的存储块中,并根据读写控制器412的写命令允许读写控制器412将其存储的标签和数据块写入存储器413中。
存储器413根据读写控制器412的写命令允许读写控制器412将缓冲存储器411中存储的标签和数据块写入相应的存储块中。根据读写控制器412的读命令允许读写控制器412将其存储的相应的标签和数据块读出。存储器413中还需要记录其存储的最后一个数据块的块尾存储地址。
读写控制器412向存储器413发送写命令,将缓冲存储器411中相应存储块中存储的标签和数据块写入存储器413相应的存储块中,向存储器413发送读命令,将存储器413中相应存储块中存储的标签和数据块读出,并将读出的内容传输至解码模块420中。
解码模块420接收读写控制器412传输来的标签和其对应的数据块,并根据标签将读出的数据块恢复为数据包。当读出的标签出现上述方法中描述的违反编码规则的现象时,解码模块420根据编码规则或存储器413记录的其存储的最后一个数据块的块尾存储地址负责对相应的标签进行纠错处理。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化。
Claims (12)
1、一种数据包存储的管理方法,其特征在于包括:
a、将存储器划分为预定大小的至少一个存储块;
b、当所述的存储器需要对数据包存储时,根据所述存储器中各存储块的可存储空间将数据包划分为相应大小的至少一个数据块;
c、根据所述数据包承载的状态信息确定所述数据块分别对应的标签,所述标签包括:数据块在数据包中的位置信息,数据块大小信息;
d、将所述标签和其对应的数据块存储在相应的存储块中。
2、如权利要求1所述的一种数据包存储的管理方法,其特征在于:
当所述的预定大小为N×M比特,所述的存储块中已存储n×M比特+k比特时,
如果所述的k不等于零且小于M,所述的存储块的可存储空间为(N-n-1)×M比特;
如果所述的k等于零,所述的存储块的可存储空间为(N-n)×M比特;
其中n、N、M、k为正整数。
3、如权利要求1或2所述的一种数据包存储的管理方法,其特征在于所述数据包承载的状态信息包括:包头指示信息、包尾指示信息、错包指示信息。
4、如权利要求3所述的一种数据包存储的管理方法,其特征在于所述的数据包承载的状态信息还包括:包尾字节模式指示信息,用于指示数据总线中有多少字节是有效的。
5、如权利要求1或2所述的一种数据包存储的管理方法,其特征在于所述的标签还包括:错包信息;
所述的数据块在数据包中的位置信息包括:包头数据块信息、中间包数据块信息、包尾数据块信息;所述的标签的数据块大小信息以字节表示;
所述的标签占用的比特位根据所述预定大小的存储块确定。
6、如权利要求1或2所述的一种数据包存储的管理方法,其特征在于所述的步骤d包括:
将所述的数据块和其对应的标签存入缓冲存储器中,根据所述存储器的写控制器将所述缓冲存储器中的数据块和其对应的标签写入所述存储器。
7、如权利要求1或2所述的一种数据包存储的管理方法,其特征在于所述的方法还包括:
根据所述存储器的读控制器将所述存储器中存储的标签读出;
根据所述读出的标签承载的信息读出相应的数据块,并确定数据块的块头信息、块尾信息及该数据块是否包含有包尾数据块信息;所述块头信息表示数据块的开始数据,所述块尾信息表示数据块的结尾数据,所述包尾数据块信息表示该数据块为数据包的结尾数据块;
根据上述信息和所述标签承载的信息确定数据包的状态信息;
根据所述确定的数据包的状态信息恢复数据包。
8、如权利要求7所述的一种数据包存储的管理方法,其特征在于所述的方法还包括:
确定所述标签对应的存储块中,从所述标签开始至所述存储块的结束位置所述存储块所能存储的数据块的最大字节数;
当所述读出的标签的数据块大小信息超出所述最大字节数时,将所述标签的数据块大小信息更新为所述最大字节数,并将所述标签的错包信息设置为错包,同时将下一个读出的数据块的标签中数据块在数据包中的位置信息更新为包头数据块信息。
9、如权利要求7所述的一种数据包存储的管理方法,其特征在于所述的方法还包括:
记录所述存储器中存储的最后一个数据块的块尾存储地址;
当读取所述最后一个数据块的标签,所述标签中的数据块在数据包中的位置信息不包含包尾数据块信息时,根据所述记录的块尾存储地址设定包尾数据块信息,并将所述标签对应的数据块恢复的数据包设置错包信息。
10、一种数据包存储的管理装置,其特征在于包括:
编码模块:根据存储器的各存储块的可存储空间将数据包划分为至少一个数据块,并根据所述数据包的状态信息确定所述至少一个数据块分别对应的标签,将所述标签和对应的数据块传输至存储模块;所述标签包括:数据块在数据包中的位置信息,数据块大小信息;
存储模块:接收所述编码模块传输来的所述标签和对应的数据块,并将其存储在相应的存储块中。
11、如权利要求10所述的一种数据包存储的管理装置,其特征在于所述的存储模块包括:
缓冲存储器:接收并存储所述编码模块传输来的所述标签和对应的数据块,并根据读写控制器的写命令允许所述读写控制器将缓冲存储器存储的标签和数据块写入存储器中;
存储器:根据所述读写控制器的写命令允许读写控制器将所述缓冲存储器中存储的标签和数据块写入相应的存储块中;
读写控制器:向所述存储器发送写命令,将所述缓冲存储器中存储的标签和数据块写入所述存储器中。
12、如权利要求10所述的一种数据包存储的管理装置,其特征在于所述的装置还包括:
解码模块:根据所述存储模块中存储的标签和其对应的数据块,将数据块恢复为数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101210795A CN100358320C (zh) | 2003-12-24 | 2003-12-24 | 一种数据包存储的管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101210795A CN100358320C (zh) | 2003-12-24 | 2003-12-24 | 一种数据包存储的管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1633101A CN1633101A (zh) | 2005-06-29 |
CN100358320C true CN100358320C (zh) | 2007-12-26 |
Family
ID=34844042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101210795A Expired - Lifetime CN100358320C (zh) | 2003-12-24 | 2003-12-24 | 一种数据包存储的管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100358320C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4993913B2 (ja) * | 2006-01-13 | 2012-08-08 | 株式会社日立製作所 | 記憶制御装置及びそのデータ管理方法 |
CN101212451B (zh) * | 2006-12-30 | 2010-10-13 | 北京天融信网络安全技术有限公司 | 防火墙芯片数据包缓存管理方法 |
CN101252415A (zh) * | 2008-04-18 | 2008-08-27 | 中国人民解放军信息工程大学 | 整包数据的传输方法及传输系统 |
CN101833513B (zh) * | 2010-04-22 | 2012-11-21 | 瑞斯康达科技发展股份有限公司 | 一种数据帧的读取方法、装置 |
CN102916902B (zh) * | 2011-08-03 | 2017-09-15 | 南京中兴软件有限责任公司 | 数据存储方法及装置 |
CN105468533B (zh) * | 2014-09-10 | 2019-02-19 | 华为技术有限公司 | 数据写入方法、装置及存储器 |
CN105872849B (zh) * | 2016-03-30 | 2019-01-08 | 成都凯腾四方数字广播电视设备有限公司 | 一种基于fpga的网络传输实时音视频纠错方法及系统 |
CN108377485A (zh) * | 2018-02-13 | 2018-08-07 | 广东嘉泰智能技术有限公司 | 基于蓝牙Mesh技术的多字节无线传输方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1229989A (zh) * | 1998-01-30 | 1999-09-29 | 三菱电机株式会社 | 数据记录装置及数据生成电路 |
CN1234563A (zh) * | 1998-02-17 | 1999-11-10 | 索尼公司 | 数据传送方法及设备 |
EP1065835A1 (en) * | 1999-06-30 | 2001-01-03 | Texas Instruments Incorporated | Packet memory management (PACMAN) scheme |
JP2002185505A (ja) * | 2000-12-12 | 2002-06-28 | Nec Corp | パケットメモリ管理装置およびメモリ管理方法 |
CN1400533A (zh) * | 2001-08-03 | 2003-03-05 | 群鼎视讯科技股份有限公司 | 嵌入式存储器结构及其存取方法 |
WO2003102725A2 (en) * | 2002-05-29 | 2003-12-11 | Intel Corporation | Method for data storage in external and on-chip memory in a packet switch |
-
2003
- 2003-12-24 CN CNB2003101210795A patent/CN100358320C/zh not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1229989A (zh) * | 1998-01-30 | 1999-09-29 | 三菱电机株式会社 | 数据记录装置及数据生成电路 |
CN1234563A (zh) * | 1998-02-17 | 1999-11-10 | 索尼公司 | 数据传送方法及设备 |
EP1065835A1 (en) * | 1999-06-30 | 2001-01-03 | Texas Instruments Incorporated | Packet memory management (PACMAN) scheme |
JP2002185505A (ja) * | 2000-12-12 | 2002-06-28 | Nec Corp | パケットメモリ管理装置およびメモリ管理方法 |
CN1400533A (zh) * | 2001-08-03 | 2003-03-05 | 群鼎视讯科技股份有限公司 | 嵌入式存储器结构及其存取方法 |
WO2003102725A2 (en) * | 2002-05-29 | 2003-12-11 | Intel Corporation | Method for data storage in external and on-chip memory in a packet switch |
Also Published As
Publication number | Publication date |
---|---|
CN1633101A (zh) | 2005-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021088466A1 (zh) | 提高网络芯片报文存储效率的方法、设备及存储介质 | |
US8499105B2 (en) | Buffer manager and buffer management method based on address pointer linked list | |
CN111818060B (zh) | 一种支持混合及离散数据传输的通讯协议、方法及系统 | |
CN110704355B (zh) | 一种利用双口ram接收并处理1553b总线数据的方法 | |
CN100358320C (zh) | 一种数据包存储的管理方法和装置 | |
CN103534968A (zh) | 一种以太网物理层的编码、解码方法和装置 | |
CN110941582B (zh) | 一种bmc芯片的usb总线结构及其通信方法 | |
CN101140543B (zh) | 支持flash页操作与流水线纠错码的数据交换装置与方法 | |
CN105868136A (zh) | 处理多个命令/命令帧的电子装置及命令帧处理方法 | |
CN102629235A (zh) | 一种提高ddr存储器读写速率的方法 | |
EP1826678B1 (en) | Storage control apparatus, storage control method, computer product, and information processing apparatus | |
CN111324564B (zh) | 一种弹性缓存方法 | |
CN110720126B (zh) | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 | |
CN100468380C (zh) | 存储卡可变长多块数据传输方法 | |
CN112395828A (zh) | 点阵字库信息的记录方法以及点阵字符的生成方法 | |
CN108073546A (zh) | 一种基于fpga实现网络数据接收及读取控制方法 | |
US20210399992A1 (en) | Service transmitting method and device, and service receiving method and device | |
CN102571535B (zh) | 一种数据延迟装置、方法及通信系统 | |
CN102420749A (zh) | 一种网卡发包功能的实现装置和方法 | |
JPH09505680A (ja) | メモリを制御する方法およびデバイス | |
WO2005006177A1 (en) | Frequency translation techniques | |
CN117440273B (zh) | 一种xgspon olt上行数据拼包的系统及方法 | |
US6732320B1 (en) | Method and system for improved error correction in optical media data processing | |
EP1198891B1 (en) | Data integrity management for data storage systems | |
JP2000155737A (ja) | デ―タパケット受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20071226 |
|
CX01 | Expiry of patent term |