CN110096456A - 一种高速率大容量缓存方法与装置 - Google Patents
一种高速率大容量缓存方法与装置 Download PDFInfo
- Publication number
- CN110096456A CN110096456A CN201910393664.1A CN201910393664A CN110096456A CN 110096456 A CN110096456 A CN 110096456A CN 201910393664 A CN201910393664 A CN 201910393664A CN 110096456 A CN110096456 A CN 110096456A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- address information
- speed
- data 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种高速率大容量缓存方法与装置,所述方法包括:S1.数据拆分单元对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;S2.数据交换单元根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置;S3.数据组合单元根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元;S4.数据交换单元根据数据请求信息,读取存储单元中的数据块传输给数据组合单元;S5.数据组合单元将数据块重新组合,形成高速数据流。本发明能够使用非易失性存储设备,具有存储容量大,且不易丢失数据的优势;通过多个与数据交换单元连接的存储单元,并行实现数据的保存,能够缓存更长时间的数据。
Description
技术领域
本发明涉及高速数据的缓存,特别是涉及一种高速率大容量缓存方法与装置。
背景技术
就目前而言,在高速数据采集应用中,一方面需要通过一个端口向中间缓存单元高速写入数据,另一方面需要一个端口从中间缓存单元高速读取数据;为达到高速率,中间缓存单元只能采用易失性存储设备,如DDR内存等,因此容量受限,并且掉电会丢失数据,为高速数据的缓存带来了诸多不便,同时在易失性存储设备容量较小的情况下,其能够实现的时延较小,不适用于时延较大情况下的高速数据缓存。
发明内容
本发明的目的在于克服现有技术的不足,提供一种高速率大容量缓存方法与装置。
本发明的目的是通过以下技术方案来实现的:一种高速率大容量缓存方法,基于数据拆分单元、数据组合单元、数据交换单元和多个存储单元进行数据缓存,包括以下步骤:
S1.数据拆分单元对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;
S2.数据交换单元根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置;
S3.数据组合单元根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元;
S4.数据交换单元根据数据请求信息,读取存储单元中的数据块传输给数据组合单元;
S5.数据组合单元将数据块重新组合,形成高速数据流。
其中,所述步骤S1包括以下子步骤:
S101.数据拆分单元通过输入端口接收高速数据流,将高速数据流中的每一个高速数据拆分为长度为D的多个数据块;
S102.为各个数据块添加保存的地址信息,得到多个带有地址信息的数据块传输给数据交换单元;所述地址信息包括数据块保存的存储单元和数据块在存储单元中的位置。
优选地,步骤S3中所述的数据请求信息包含所需数据块的地址和顺序。
其中,所述步骤S5包括:
S501.数据组合单元从数据交换单元中接收数据块,将数据块中包含的地址信息删除;
S502.数据组合单元将数据块重新组合成高速数据,形成高速数据流,并从输出端口进行输出。
一种高速率大容量缓存装置,包括数据拆分单元、数据组合单元、数据交换单元和多个存储单元,所述数据交换单元分别与数据拆分单元、数据组合单元和每一个存储单元连接;
所述数据拆分单元,用于对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;
数据交换单元,用于根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置,并接收来自数据组合单元的数据请求信息,从请求信息指定的地址读取存储单元数据传输给数据组合单元;
所述数据组合单元,根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元,并接收数据交换单元的数据块,重新组合形成高速数据流。
优选地,所述缓存装置还包括与数据拆分单元连接的输入端口和与数据组合单元连接的输出端口。
优选地,所述数据拆单元包括:拆分模块,用于接收来自输入端口高速数据流,并将高速数据流中的每一个高速数据拆分为长度相同的若干个数据块;地址设定模块,用于为每个数据块添加保存的地址信息,添加完成后将各个数据块传输给数据交换单元;所述地址信息包括数据块保存的存储单元和数据块在存储单元中的位置。
优选地,所述数据组合单元包括:数据请求模块,根据用户对数据缓存时延的需求,生成数据请求信息,所述数据请求信息中包含所需数据块的地址信息;数据组合模块,用于从数据交换单元中接收数据块,将数据块中包含的地址信息删除,重新组合成高速数据,形成高速数据流,并从输出端口进行输出。
优选地,每一个所述的存储单元均采用非易失性存储设备。
本发明的有益效果是:(1)将输入的高速数据拆分为低速的数据块进行缓存,在需要时再重新组合成高速数据进行输出,实际存储的数据为低速的数据块,故能够使用非易失性存储设备,该类设备具有存储容量大,数据不易丢失的优势。
(2)本发明通过多个与数据交换单元连接的存储单元,并行实现数据的保存,进一步扩大了存储容量,能够缓存更长时间的数据,相比与传统的缓存器,本发明能够实现更大时延。
(3)数据交换单元根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置,并接收来自数据组合单元的数据请求信息,从请求信息指定的地址读取存储单元数据传输给数据组合单元,实现精确的数据时延控制;
(4)本发明不需要中央处理器以及复杂的总线架构来连接与管理存储设备与外部接口,所有的功能模块都可以在一个芯片内完成,比如在FPGA内部完成,因此,可以实现小型化集成。
附图说明
图1为本发明的方法流程图;
图2为本发明的装置原理框图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种高速率大容量缓存方法,基于数据拆分单元、数据组合单元、数据交换单元和多个存储单元进行数据缓存,包括以下步骤:
S1.数据拆分单元对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;
S2.数据交换单元根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置;
S3.数据组合单元根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元;
S4.数据交换单元根据数据请求信息,读取存储单元中的数据块传输给数据组合单元;
S5.数据组合单元将数据块重新组合,形成高速数据流。
其中,所述步骤S1包括以下子步骤:
S101.数据拆分单元通过输入端口接收高速数据流,将高速数据流中的每一个高速数据拆分为长度为D的多个数据块;在本申请的实施例中,D的具体大小可以根据需要进行设置,可以认为D为预设的已知长度值;
S102.为各个数据块添加保存的地址信息,得到多个带有地址信息的数据块传输给数据交换单元;所述地址信息包括数据块保存的存储单元和数据块在存储单元中的位置。
其中,所述步骤S5包括:
S501.数据组合单元从数据交换单元中接收数据块,将数据块中包含的地址信息删除;
S502.数据组合单元将数据块重新组合成高速数据,形成高速数据流,并从输出端口进行输出。
在本申请的实施例中,步骤S3中所述的数据请求信息包含所需数据块的地址和顺序。
如图2所示,一种高速率大容量缓存装置,包括数据拆分单元、数据组合单元、数据交换单元和多个存储单元,所述数据交换单元分别与数据拆分单元、数据组合单元和每一个存储单元连接;
所述数据拆分单元,用于对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;
数据交换单元,用于根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置,并接收来自数据组合单元的数据请求信息,从请求信息指定的地址读取存储单元数据传输给数据组合单元;
所述数据组合单元,根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元,并接收数据交换单元的数据块,重新组合形成高速数据流。
在本申请的实施例中,所述缓存装置还包括与数据拆分单元连接的输入端口和与数据组合单元连接的输出端口。
在本申请的实施例中,所述数据拆单元包括:拆分模块,用于接收来自输入端口高速数据流,并将高速数据流中的每一个高速数据拆分为长度相同的若干个数据块;地址设定模块,用于为每个数据块添加保存的地址信息,添加完成后将各个数据块传输给数据交换单元;所述地址信息包括数据块保存的存储单元和数据块在存储单元中的位置。
在本申请的实施例中,所述数据组合单元包括:数据请求模块,根据用户对数据缓存时延的需求,生成数据请求信息,所述数据请求信息中包含所需数据块的地址信息;数据组合模块,用于从数据交换单元中接收数据块,将数据块中包含的地址信息删除,重新组合成高速数据,形成高速数据流,并从输出端口进行输出。
易失性存储设备(比如DDR内存等)具有速率高的优势,也是目前高速数据缓存的常用设备,但同时,该类设备具有容量小,掉电数据易丢失等不足,容量小,会使得缓存数据有限,无法实现长时间的数据缓存,也无法实现较大的时延;因此,本申请将输入的高速数据拆分为低速的数据块进行缓存,在需要时再重新组合成高速数据进行输出,实际存储的数据为低速的数据块,故能够使用非易失性存储设备(如硬盘、SSD等),相比于易失性存储设备,非易失性存储设备一般具有更大的容量且数据不易丢失;本发明采用多个存储单元并行设置,实现数据的保存,进一步扩大了存储容量,能够缓存更长时间的数据,相比与传统的缓存器,本发明能够实现更大时延;具体地,设接口数据为V bps,单个存储单元的存储量为S bit,设存储单元的个数为N,则缓存装置最大能够缓存NS/V 秒的高速数据,也就是说,最大能够实现NS/V 秒的时延;故相比于只使用单个存储单元(N=1),或是采容量较小的易失性存储设备,本发明都能够实现更大的时延;最后,由于数据交换单元根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置,并接收来自数据组合单元的数据请求信息,从请求信息指定的地址读取存储单元数据传输给数据组合单元,故本发明能够在最大时延范围内,实现精确的数据时延控制;并且,本发明不需要中央处理器以及复杂的总线架构来连接与管理存储设备与外部接口,所有的功能模块都可以在一个芯片内完成,比如在FPGA内部完成,因此,可以实现小型化集成。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (9)
1.一种高速率大容量缓存方法,基于数据拆分单元、数据组合单元、数据交换单元和多个存储单元进行数据缓存,其特征在于:包括以下步骤:
S1.数据拆分单元对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;
S2.数据交换单元根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置;
S3.数据组合单元根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元;
S4.数据交换单元根据数据请求信息,读取存储单元中的数据块传输给数据组合单元;
S5.数据组合单元将数据块重新组合,形成高速数据流。
2.根据权利要求1所述的一种高速率大容量缓存方法,其特征在于:所述步骤S1包括以下子步骤:
S101.数据拆分单元通过输入端口接收高速数据流,将高速数据流中的每一个高速数据拆分为长度为D的多个数据块;
S102.为各个数据块添加保存的地址信息,得到多个带有地址信息的数据块传输给数据交换单元;所述地址信息包括数据块保存的存储单元和数据块在存储单元中的位置。
3.根据权利要求1所述的一种高速率大容量缓存方法,其特征在于:步骤S3中所述的数据请求信息包含所需数据块的地址和顺序。
4.根据权利要求1所述的一种高速率大容量缓存方法,其特征在于:所述步骤S5包括:
S501.数据组合单元从数据交换单元中接收数据块,将数据块中包含的地址信息删除;
S502.数据组合单元将数据块重新组合成高速数据,形成高速数据流,并从输出端口进行输出。
5.一种高速率大容量缓存装置,其特征在于:包括数据拆分单元、数据组合单元、数据交换单元和多个存储单元,所述数据交换单元分别与数据拆分单元、数据组合单元和每一个存储单元连接;
所述数据拆分单元,用于对高速数据流进行拆分和地址信息添加,得到多个带有地址信息的数据块传输给数据交换单元;
数据交换单元,用于根据接收到的每个数据块的地址信息,将数据块保存到对应存储单元中指定的位置,并接收来自数据组合单元的数据请求信息,从请求信息指定的地址读取存储单元数据传输给数据组合单元;
所述数据组合单元,根据用户对数据缓存的时延需求,生成数据请求信息传输给数据交换单元,并接收数据交换单元的数据块,重新组合形成高速数据流。
6.根据权利要求5所述的一种高速率大容量缓存装置,其特征在于:所述缓存装置还包括与数据拆分单元连接的输入端口和与数据组合单元连接的输出端口。
7.根据权利要求6所述的一种高速率大容量缓存装置,其特征在于:所述数据拆单元包括:
拆分模块,用于接收来自输入端口高速数据流,并将高速数据流中的每一个高速数据拆分为长度相同的若干个数据块;
地址设定模块,用于为每个数据块添加保存的地址信息,添加完成后将各个数据块传输给数据交换单元;所述地址信息包括数据块保存的存储单元和数据块在存储单元中的位置。
8.根据权利要求6所述的一种高速率大容量缓存装置,其特征在于:所述数据组合单元包括:
数据请求模块,根据用户对数据缓存时延的需求,生成数据请求信息,所述数据请求信息中包含所需数据块的地址信息;
数据组合模块,用于从数据交换单元中接收数据块,将数据块中包含的地址信息删除,重新组合成高速数据,形成高速数据流,并从输出端口进行输出。
9.根据权利要求5所述的一种高速率大容量缓存装置,其特征在于:每一个所述的存储单元均采用非易失性存储设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910393664.1A CN110096456A (zh) | 2019-05-13 | 2019-05-13 | 一种高速率大容量缓存方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910393664.1A CN110096456A (zh) | 2019-05-13 | 2019-05-13 | 一种高速率大容量缓存方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110096456A true CN110096456A (zh) | 2019-08-06 |
Family
ID=67447852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910393664.1A Pending CN110096456A (zh) | 2019-05-13 | 2019-05-13 | 一种高速率大容量缓存方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096456A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061683A (zh) * | 2019-12-30 | 2020-04-24 | 成都定为电子技术有限公司 | 一种高速存储和操作数据流的方法与装置 |
CN111459856A (zh) * | 2020-03-20 | 2020-07-28 | 中国科学院计算技术研究所 | 一种数据传输装置及传输方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959806A (zh) * | 2006-03-24 | 2007-05-09 | 夏耀庭 | 一种大幅度提高硬盘读写速度的方法 |
CN101046724A (zh) * | 2006-05-10 | 2007-10-03 | 华为技术有限公司 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
CN101729940A (zh) * | 2008-10-22 | 2010-06-09 | 华为技术有限公司 | 向多路通信通道发送数据的方法及接收数据的方法 |
CN103544077A (zh) * | 2012-07-17 | 2014-01-29 | 华为技术有限公司 | 数据处理方法及装置、共享存储设备 |
CN107133194A (zh) * | 2017-04-11 | 2017-09-05 | 西安电子科技大学 | 基于混合基底的可配置fft/ifft协处理器 |
CN107665096A (zh) * | 2016-07-29 | 2018-02-06 | 希捷科技有限公司 | 加权数据分条 |
-
2019
- 2019-05-13 CN CN201910393664.1A patent/CN110096456A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959806A (zh) * | 2006-03-24 | 2007-05-09 | 夏耀庭 | 一种大幅度提高硬盘读写速度的方法 |
CN101046724A (zh) * | 2006-05-10 | 2007-10-03 | 华为技术有限公司 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
CN101729940A (zh) * | 2008-10-22 | 2010-06-09 | 华为技术有限公司 | 向多路通信通道发送数据的方法及接收数据的方法 |
CN103544077A (zh) * | 2012-07-17 | 2014-01-29 | 华为技术有限公司 | 数据处理方法及装置、共享存储设备 |
CN107665096A (zh) * | 2016-07-29 | 2018-02-06 | 希捷科技有限公司 | 加权数据分条 |
CN107133194A (zh) * | 2017-04-11 | 2017-09-05 | 西安电子科技大学 | 基于混合基底的可配置fft/ifft协处理器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061683A (zh) * | 2019-12-30 | 2020-04-24 | 成都定为电子技术有限公司 | 一种高速存储和操作数据流的方法与装置 |
CN111061683B (zh) * | 2019-12-30 | 2023-03-21 | 成都定为电子技术有限公司 | 一种高速存储和操作数据流的方法与装置 |
CN111459856A (zh) * | 2020-03-20 | 2020-07-28 | 中国科学院计算技术研究所 | 一种数据传输装置及传输方法 |
CN111459856B (zh) * | 2020-03-20 | 2022-02-18 | 中国科学院计算技术研究所 | 一种数据传输装置及传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468547B (zh) | 一种基于axi总线的便捷可配置帧数据存取控制*** | |
US8972630B1 (en) | Transactional memory that supports a put with low priority ring command | |
US20030210574A1 (en) | Scratchpad memory | |
JP6077125B2 (ja) | データ処理方法及び装置 | |
CN107832343B (zh) | 一种基于位图的mbf数据索引结构对数据快速检索的方法 | |
WO2015088837A1 (en) | Memory arrangement for implementation of high-throughput key-value stores | |
JP7074839B2 (ja) | パケット処理 | |
CN106257434A (zh) | 一种基于增强型外设互连协议总线的数据传输方法及装置 | |
JP6340481B2 (ja) | データキャッシング方法、装置及び記憶媒体 | |
WO2021066893A1 (en) | Multi-path packet descriptor delivery scheme | |
CN106294225A (zh) | 一种数据读取方法、对端设备及控制器 | |
CN114443170B (zh) | Fpga动态并行加卸载*** | |
CN110417780A (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
CN110096456A (zh) | 一种高速率大容量缓存方法与装置 | |
CN105446699A (zh) | 数据帧队列管理方法 | |
US7320048B2 (en) | Apparatus and method to switch a FIFO between strobe sources | |
CN105786733B (zh) | 一种写入tcam条目的方法及装置 | |
US8209470B2 (en) | CPU data bus PLD/FPGA interface using dual port RAM structure built in PLD | |
US7065628B2 (en) | Increasing memory access efficiency for packet applications | |
CN102013984A (zh) | 二维网状片上网络*** | |
CN111259014A (zh) | 一种fpga的单向链表数据存储方法及*** | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 | |
US6728861B1 (en) | Queuing fibre channel receive frames | |
CN104678815A (zh) | Fpga芯片的接口结构及配置方法 | |
CN103268278B (zh) | 支持多核处理器的sram控制器及其跟踪信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190806 |
|
RJ01 | Rejection of invention patent application after publication |