一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种存储碎片化数据的处理方法、装置、存储介质及芯片与流程

2023-03-28 14:40:20 来源:中国专利 TAG:


1.本发明涉及数据存储技术领域,特别是涉及一种存储碎片化数据的处理方法、装置、存储介质及芯片。


背景技术:

2.对于在有线或者无线网络的处理芯片中,往往需要对存在的碎片化数据进行处理,如果不对碎片化数据进行整理存放的话,会存在浪费存放空间的情况。
3.在现有技术中,一般通过增加更多的存储空间来解决这种问题;例如,可以增加存储器的方法来存放这些碎片化数据,但是由于要求存储器带有ecc(error correcting code,纠错码)的功能,所以存在读改写的可能性,增加读写数据时延。
4.在其他的方法中,为了节省有效的内存,会在芯片内部增加很多的寄存器来缓存碎片化数据。但是这种做法会增加大量的寄存器面积,会增加芯片面积,增加大量的功耗以及芯片实现难度。


技术实现要素:

5.本发明所要解决的技术问题在于,提供一种存储碎片化数据的处理方法、装置、存储介质及芯片。可以有效地减少芯片中寄存器的数量,提高主存储器的空间利用效率,减小数据读写过程中的时延。
6.为解决上述技术问题,作为本发明的一方面,提供一种存储碎片化数据的处理方法,其至少包括如下步骤:
7.接收前级传送来的碎片化数据,并移除所述碎片化数据中的无效数据;
8.将所述移除无效数据后的碎片化数据与寄存器中当前存储的数据进行拼接,拼接成至少一个第二长度的数据段;
9.将所述第二长度的数据段存入至少一个二级缓存器中;
10.在所有二级缓存中的数据与寄存器中的数据总数达到第三长度时,则将所述第三长度对应的数据存放在主存储器中。
11.其中,所述第二长度为二级缓存器的数据位宽,所述第三长度为主存储器的数据位宽。
12.其中,所述接收前级传送来的碎片化数据,并移除所述碎片化数据中的无效数据的步骤进一步包括:
13.接收前级传送来的数据,同时获得所述数据对应的每个字节的strb值;
14.将所述碎片化数据中strb值为0的字节对应的数据确定为无效数据,并移除。
15.其中,将所述第三长度对应的数据存放在主存储器中进一步包括:
16.对所述第三长度对应的数据进行ecc处理。
17.相应地,本发明的另一方面,还提供一种存储碎片化数据的处理装置,至少包括:
18.碎片数据接收处理单元,用于接收前级传送来的碎片化数据,并移除所述碎片化
数据中的无效数据;
19.拼接处理单元,用于将所述移除无效数据后的碎片化数据与寄存器中当前存储的数据进行拼接,拼接成至少一个第二长度的数据段;
20.二级缓存处理单元,用于将所述第二长度的数据段存入至少一个二级缓存器中;
21.主缓存处理单元,用于在所有二级缓存中的数据与寄存器中的数据总数达到第三长度时,则将所述第三长度对应的数据存放在主存储器中。
22.其中,所述第二长度为二级缓存器的数据位宽,所述第三长度为主存储器的数据位宽。
23.其中,所述碎片数据接收处理单元进一步包括:
24.接收单元,用于接收前级传送来的数据,同时获得所述数据对应的每个字节的strb值;
25.无效数据移除单元,用于将所述碎片化数据中strb值为0的字节对应的数据确定为无效数据,并移除。
26.其中,所述主缓存处理单元进一步包括:
27.ecc处理单元,用于对所述第三长度对应的数据进行ecc处理。
28.相应地,本发明的又一方面,还提供一种计算机可读存储介质,其存储有可执行的指令,所述可执行的指令被执行时,实现前述的方法。
29.相应地,本发明的再一方面,还提供一种芯片,其至少包括寄存器、至少一二级缓存器以及主存储器,进一步包括前述的存储碎片化数据的处理装置。
30.实施本发明实施例,具有如下的有益效果:
31.本发明提供一种存储碎片化数据的处理方法、装置、存储介质及芯片。通过将部分处理碎片化数据的寄存器更换为二级缓存器,只保留部分寄存器来缓存数据。在接收到前级的碎片化数据时,先存入寄存器,当寄存器存满数据后,先放入二级缓存器;二级缓存器存放满数据后,才存入主存储器。这样,可以减少全部采用寄存器实现而导致的芯片面积增大的困扰。特别是当需要很多端口存在碎片化数据时,能有效的减少寄存器的数量。
32.同时,在主存储器中所存放的均是实际有效的数据,故可以避免主存储空间的浪费,从而可以减小数据读写的延时。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
34.图1为本发明提供的一种存储碎片化数据的处理方法的一个实施例的主流程示意图;
35.图2为本发明涉及的碎片数据的结构示例;
36.图3为本发明涉及的一个例子中数据拼接的示意图;
37.图4为本发明提供的一种存储碎片化数据的处理装置的一个实施例的结构示意图;
38.图5为本发明提供的一种存储碎片化数据的处理装置的运行环境示意图;
39.图6为图5中碎片数据接收处理单元的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
41.如图1所示,本发明实施例一提供的一种存储碎片化数据的处理方法的主流程示意图。一并结合图2和图3所示,在本实施例中,所述方法至少包括如下步骤:
42.步骤s10,接收前级传送来的碎片化数据,并移除所述碎片化数据中的无效数据;
43.在一个具体的例子中,所述步骤s10至少包括:
44.接收前级传送来的数据,同时获得所述数据对应的每个字节的strb值;
45.可以理解的是,当碎片化数据从前级送过来时,会伴随一个strb信号指示当前数据哪些字节有效,如图2所示,对于每个字节均对应一个strb值,如果所述strb值为1,则说明对应的字节有效,如果strb值为0,则说明对应的字节无效;
46.将所述碎片化数据中strb值为0的字节对应的数据确定为无效数据,并移除。
47.步骤s11,将所述移除无效数据后的碎片化数据与寄存器中当前存储的数据进行拼接,拼接成至少一个第二长度的数据段;在一个具体的实施例中,所述第二长度为二级缓存器的数据位宽。
48.本方法针对碎片化的数据,在放入主存储器(memory)前增加至少一个小的二级缓存器,来缓存少量的碎片化数据。
49.步骤s12,将所述第二长度的数据段存入至少一个二级缓存器中;
50.在本发明实施例中,对碎片化数据以及寄存器中当前存储的数据进行拼接,拼接达到二级缓存器的数据位宽时,则存入到其中一个二级缓存器中;后续拼接的数据继续放入到其他二级缓存器中。
51.具体地,会根据上次碎片化数据的存放位置,将数据进行拼接存放。存放到一组d型寄存器(d-flip flop,dff)中,等数据达到一定量时(即二级缓器的数据位宽时),将数据存放到二级缓存器中。图3示出了本发明实施例涉及的一个例子中进行数据拼接的示意图,其中采用的是移位拼接的方式,先确定碎片化数据中的有效数据(深色表示的字节),然后按照一定的顺序,拼接成新的数据块,再存入dff中。
52.步骤s13,在所有二级缓存中的数据与寄存器中的数据总数达到第三长度时,则将所述第三长度对应的数据存放在主存储器中,可以是存放于所述主存储器中的最大空间中。在一个具体的例子中,所述第三长度为主存储器的数据位宽。在此步骤中,同时需要对所述第三长度对应的数据进行ecc处理。
53.具体的,在一个例子中:以主存储器的最大的数据位宽为512bits,二级缓存器的数据位宽为64bit为例进行说明。假设前级送过来的数据也是512bits。如果数据碎片化,则将strb为0的数据(即无效数据)移除,然后将存放在dff中的上一次碎片化剩余的不足64bits数据进行拼接。如果达到一个或者多个64bits的数据有效,则根据情况将数据存放到一个或者多个64bits的二级缓存器中。如果多个二级缓存器加上dff的数据超过512bits后,读取相应数据存放到主存储器中最大的空闲数据空间中。进一步的,存储于主存储器的
方式,还可以采用链表的存储方式,可以支持不同数据包的交织输入。
54.由于数据来源于不同的端口,同时需要存放到不同的端口,本发明实施例提供的方法可以复用同一套拼接逻辑,只增加拼接存储处理的单元,便可以实现拓展。
55.可以理解的是,在本实施例中,通过将碎片化数据在放入内部主存储器前,进行整合处理,同时在整合过程中采用部分寄存器加部分二级缓存器的方式,减少了全部采用寄存器实现的面积增大的困扰。特别是当需要很多端口存在碎片化数据时,能有效的减少寄存器的数量。
56.同时,在主存储器中所存放的均是实际有效的数据,故可以避免主存储空间的浪费,从而可以减小数据读写的时延。
57.可以理解的是,在一些应用场景中,当前级发送过来的数据中不存在碎片化数据,则可以将其直接存入主存储器中,而不需要进行上述的拼接,并存储于二级缓存器的过程,以进一步提高效率。
58.如图4所示,示出了本发明提供的一种存储碎片化数据的处理装置一个实施例的结构示意图。一并结合图5和图6所示,所述装置1至少包括:
59.碎片数据接收处理单元10,用于接收前级传送来的碎片化数据,并移除所述碎片化数据中的无效数据;
60.拼接处理单元11,用于将所述移除无效数据后的碎片化数据与寄存器中当前存储的数据进行拼接,拼接成至少一个第二长度的数据段;
61.二级缓存处理单元12,用于将所述第二长度的数据段存入至少一个二级缓存器中;
62.主缓存处理单元13,用于在所有二级缓存中的数据与寄存器中的数据总数达到第三长度时,则将所述第三长度对应的数据存放在主存储器中。
63.其中,所述第二长度为二级缓存器的数据位宽,所述第三长度为主存储器的数据位宽。
64.其中,所述碎片数据接收处理单元10进一步包括:
65.接收单元100,用于接收前级传送来的数据,同时获得所述数据对应的每个字节的strb值;
66.无效数据移除单元101,用于将所述碎片化数据中strb值为0的字节对应的数据确定为无效数据,并移除。
67.其中,所述主缓存处理单元13进一步包括:
68.ecc处理单元,用于对所述第三长度对应的数据进行ecc处理。
69.更多的细节,可以参考并结合前述对图1至图3的描述,在此不进行赘述。
70.相应地,本发明的又一方面,还提供一种计算机可读存储介质,其存储有可执行的指令,所述可执行的指令被执行时,实现前述的方法。
71.更多的细节,可以参考并结合前述对图1至图3的描述,在此不进行赘述。
72.相应地,本发明的再一方面,还提供一种芯片,其至少包括寄存器、至少一二级缓存器以及主存储器,进一步包括前述图4和图6描述的存储碎片化数据的处理装置。
73.更多的细节,可以参考并结合前述对图4至图5的描述,在此不进行赘述。
74.实施本发明实施例,具有如下的有益效果:
75.本发明提供一种存储碎片化数据的处理方法、装置、存储介质及芯片。通过将部分处理碎片化数据的寄存器更换为二级缓存器,只保留部分寄存器来缓存数据。在接收到前级的碎片化数据时,先存入寄存器,当寄存器存满数据后,先放入二级缓存器;二级缓存器存放满数据后,才存入主存储器。这样,可以减少全部采用寄存器实现而导致的芯片面积增大的困扰。特别是当需要很多端口存在碎片化数据时,能有效的减少寄存器的数量。
76.同时,在主存储器中所存放的均是实际有效的数据,故可以避免主存储空间的浪费,从而可以减小数据读写的延时。
77.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
78.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
79.以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献