一种缓存处理方法及装置制造方法及图纸

技术编号:15924958 阅读:48 留言:0更新日期:2017-08-04 15:03
本发明专利技术提供一种缓存处理方法及装置。其中方法包括:在需要缓存第一用户的第一数据时,读取当前存储起始地址;从当前存储起始地址开始存储第一数据到缓存空间,所述第一数据占用的缓存空间为第一缓存空间;对应于第一用户中的第一数据,保存一包括所述第一缓存空间的起始地址和空间长度的存储位置信息,使得在需要读取第一数据时,能够根据起始地址和空间长度定位所述第一缓存空间,并从第一缓存空间读取第一数据;更新当前存储起始地址为第一缓存空间的下一地址,使得下一个需要缓存的数据,能够从该存储起始地址开始进行缓存,从而使每个已缓存的数据都能连续占用所述缓存空间。本发明专利技术更好地利用缓存空间,减少为读取而保存的地址信息。

Cache processing method and device

The invention provides a cache processing method and device. The method comprises the following steps: in the first data cache of the first user, read the current storage start address; from the current storage start address to store the first data to the cache cache space, the first space occupied by the data for the first cache space; the first data corresponding to the first user in the storage location information stored starting address and space length including the first cache space, the need to read the first data, according to the start address and length of space positioning the first cache space, and reads the first data from the first buffer storage space; update the current starting address for the first cache space under the address, the next need to cache data. From the memory start address to cache, so that each cached data can continuously occupy the cache Space. The invention makes better use of the cache space and reduces the address information stored for reading.

【技术实现步骤摘要】
一种缓存处理方法及装置
本专利技术涉及网络存储领域,特别是一种缓存处理方法及装置。
技术介绍
SoC(SystemonChip,系统级芯片)技术将CPU/MPU(MicroProcessUnit微处理器)、DSP(DigitalSignalProcessor,数字信息号处理)、硬件加速器、存储、外设接口等各个子系统,通过总线互联集成到一颗芯片上。这些子系统除了其内部数据处理所需要的本地专用存储/缓存之外,还往往由于各种各样的原因需要共享集中的存储/缓存,如各子系统相互之间需要数据交互缓冲;如处理多用户业务而共享存储。这些由多源/多用户共享的集中缓存可以在物理上是一块或几块存储单元,如一块SRAM(StaticRandom-AccessMemory,静态存储器)或一块DRAM(DynamicRandom-AccessMemory,动态随机存储器)或几块它们的任意组合,但我们可以在逻辑上把它们看作是一块共享缓存。下文所述的共享缓存均基于逻辑上是一块存储单元来论述,而实际物理实现上可以是一块或多块存储单元的组合。如同任何公共资源一样,多源/多用户共享一块缓存的使用需要考虑存储资源的分配与管理。目前SoC设计中的缓存共享使用方法基本上是将共享缓存划分为N个相等大小的“片”,这个“片”的大小以能容纳下各源/各用户所需的最小数据为准,大的数据就占用整数个“片”。这种方法的缺点是需要很大的存储空间来记录每个“片”的使用状态及存储位置信息。特别是当系统所需的最小数据的长度很小时,相对于每个“片”用于存储的空间也会随之很小,在存储大数据时,需要用到很多的“片”。另外使用这方法还对共浪费享缓存空间,如有些数据只比整数个“片”大一点点,这就需要再单独使用一个“片”进行存储。
技术实现思路
本专利技术要解决的技术问题是提供一种能够更好的进行规划管理并能节约使用缓存空间的缓存处理方法及装置。为解决上述技术问题,本专利技术的实施例提供一种缓存处理方法,包括如下步骤:在需要缓存第一用户的第一数据时,读取当前存储起始地址;从所述当前存储起始地址开始存储所述第一数据到缓存空间,其中,所述第一数据占用的缓存空间为第一缓存空间;对应于所述第一用户中的第一数据,保存一包括所述第一缓存空间的起始地址和空间长度的存储位置信息,使得在需要读取所述第一数据时,能够根据所述起始地址和空间长度定位所述第一缓存空间,并从所述第一缓存空间读取所述第一数据;更新所述当前存储起始地址为所述第一缓存空间的下一地址,使得下一个需要缓存的数据,能够从该存储起始地址开始进行缓存,从而使每个已缓存的数据都能连续占用所述缓存空间。其中,从所述当前存储起始地址开始存储所述第一数据到缓存空间后还包括:记录所述第一数据的空闲状态,从而根据所述空闲状态,判断所述第一数据是否被释放掉。其中,本方法还包括:设置一阈值,所述阈值为存储一最大数据可能需要的缓存空间大小;若在当前存储起始地址之后的剩余缓存空间小于预设阈值,则按照预设方法对所述缓存空间的数据进行整理,并在整理之后更新每个数据的起始地址;其中,所述预设方法为:在所述缓存空间中选择一最早存储的失效数据,在其起始地址,重新对该数据之后的有效数据连续存储,直至全部有效数据都已连续占用所述缓存空间;其中,所述失效数据为:已被释放掉的数据;所述有效数据为:未被释放掉的数据;在整理完成后,更新所述当前存储起始地址为最后一个有效数据在所述缓存空间的下一地址。其中,所述预设方法具体为:在所述缓存空间中选择一最早存储的失效数据,通过其存储位置信息,获取该失效数据在所述缓存空间的起始地址,更新当前存储起始地址为所述失效数据的起始地址;从该存储起始地址开始存储在所述失效数据之后的第一有效数据,更新第一有效数据的存储位置信息;更新所述当前存储起始地址为所述第一有效数据所在缓存空间的下一地址,使得在其之后的下一个有效数据能够从该存储起始地址开始重新进行缓存,直至每个已缓存的有效数据都能连续占用所述缓存空间。使得在其之后的下一个有效数据能够从该存储起始地址开始重新进行缓存,直至每个已缓存的有效数据都能连续占用所述缓存空间。其中,本方法还包括:对正被读取或者正被整理的有效数据进行锁定,使得一个有效数据在锁定过程中不能同时被读取与整理。本专利技术的实施例还提供一种缓存处理装置,包括:读取存储起始地址模块,用于在需要缓存第一用户的第一数据时,读取当前存储起始地址;缓存模块,用于从所述当前存储起始地址开始存储所述第一数据到缓存空间,其中,所述第一数据占用的缓存空间为第一缓存空间;存储数据管理模块,用于对应于所述第一用户中的第一数据,保存一包括所述第一缓存空间的起始地址和空间长度的存储位置信息,使得在需要读取所述第一数据时,能够根据所述起始地址和空间长度定位所述第一缓存空间,并从所述第一缓存空间读取所述第一数据;更新存储起始地址模块,用于更新所述当前存储起始地址为所述第一缓存空间的下一地址,使得下一个需要缓存的数据,能够从该存储起始地址开始进行缓存,从而使每个已缓存的数据都能连续占用所述缓存空间。其中,所述存储数据管理模块还用于:记录所述第一数据的空闲状态,根据所述空闲状态,判断所述第一数据是否被释放掉。其中,本装置还包括:整理模块,用于设置一阈值,所述阈值为存储一最大数据可能需要缓存空间的大小;若在当前存储起始地址之后的剩余缓存空间小于预设阈值,则按照预设方法对所述缓存空间的数据进行整理,并在整理之后更新每个数据的起始地址;其中,所述预设方法为:在所述缓存空间中选择一最早存储的失效数据,在其起始地址,重新对该数据之后的有效数据连续存储,直至全部有效数据都已连续占用所述缓存空间;其中,所述失效数据为:已被释放掉的数据;所述有效数据为:未被释放掉的数据;在整理完成后,更新所述当前存储起始地址为最后一个有效数据在所述缓存空间的下一地址。其中,本装置还包括:锁定模块,用于对正被读取或者正被整理的有效数据进行锁定,使得一个有效数据在锁定过程中不能同时被读取与整理。本专利技术的上述技术方案的有益效果如下:将数据连续存储在缓存空间中,相对于现有技术将缓存空间分成若干个片段而言,可以更好的利用缓存空间;进一步地,现有技术中,为了实现数据的读取,需要记录这些片段的缓存地址,信息存储量极为庞大,而本实施例的缓存空间由于连续存储数据,只需要记录每个数据的所在缓存空间中的起始地址以及空间长度就能实现读取,其信息存储量取决于数据包的数量。附图说明图1为本专利技术的缓存处理方法的示意图;图2为本专利技术的缓存处理方法的流程图;图3为本专利技术的缓存处理方法中的对缓存空间进行整理的流程图;图4为本专利技术的缓存处理装置的示意图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。实施例1如图1所示,一种缓存处理方法,包括如下步骤:步骤1,在需要缓存第一用户的第一数据时,读取当前存储起始地址;步骤2,从所述当前存储起始地址开始存储所述第一数据到缓存空间,其中,所述第一数据占用的缓存空间为第一缓存空间;步骤3,对应于所述第一用户中的第一数据,保存一包括所述第一缓存空间的起始地址和空间长度的存储位置信息,使得在需要读取所述第一数据时,能够根据所述起始地址和空间长度定位所述本文档来自技高网
...
一种缓存处理方法及装置

【技术保护点】
一种缓存处理方法,其特征在于,包括如下步骤:在需要缓存第一用户的第一数据时,读取当前存储起始地址;从所述当前存储起始地址开始存储所述第一数据到缓存空间,其中,所述第一数据占用的缓存空间为第一缓存空间;对应于所述第一用户中的第一数据,保存一包括所述第一缓存空间的起始地址和空间长度的存储位置信息,使得在需要读取所述第一数据时,能够根据所述起始地址和空间长度定位所述第一缓存空间,并从所述第一缓存空间读取所述第一数据;更新所述当前存储起始地址为所述第一缓存空间的下一地址,使得下一个需要缓存的数据,能够从该存储起始地址开始进行缓存,从而使每个已缓存的数据都能连续占用所述缓存空间;设置一阈值,所述阈值为存储一最大数据可能需要的缓存空间大小;若在当前存储起始地址之后的剩余缓存空间小于预设阈值,则按照预设方法对所述缓存空间的数据进行整理,并在整理之后更新每个数据的起始地址;其中,所述预设方法为:在所述缓存空间中选择一最早存储的失效数据,在其起始地址,重新对该数据之后的有效数据连续存储,直至全部有效数据都已连续占用所述缓存空间;其中,所述失效数据为:已被释放掉的数据;所述有效数据为:未被释放掉的数据;在整理完成后,更新所述当前存储起始地址为最后一个有效数据在所述缓存空间的下一地址;其中,从所述当前存储起始地址开始存储所述第一数据到缓存空间后还包括:记录所述第一数据的空闲状态,从而根据所述空闲状态,判断所述第一数据是否被释放掉。...

【技术特征摘要】
1.一种缓存处理方法,其特征在于,包括如下步骤:在需要缓存第一用户的第一数据时,读取当前存储起始地址;从所述当前存储起始地址开始存储所述第一数据到缓存空间,其中,所述第一数据占用的缓存空间为第一缓存空间;对应于所述第一用户中的第一数据,保存一包括所述第一缓存空间的起始地址和空间长度的存储位置信息,使得在需要读取所述第一数据时,能够根据所述起始地址和空间长度定位所述第一缓存空间,并从所述第一缓存空间读取所述第一数据;更新所述当前存储起始地址为所述第一缓存空间的下一地址,使得下一个需要缓存的数据,能够从该存储起始地址开始进行缓存,从而使每个已缓存的数据都能连续占用所述缓存空间;设置一阈值,所述阈值为存储一最大数据可能需要的缓存空间大小;若在当前存储起始地址之后的剩余缓存空间小于预设阈值,则按照预设方法对所述缓存空间的数据进行整理,并在整理之后更新每个数据的起始地址;其中,所述预设方法为:在所述缓存空间中选择一最早存储的失效数据,在其起始地址,重新对该数据之后的有效数据连续存储,直至全部有效数据都已连续占用所述缓存空间;其中,所述失效数据为:已被释放掉的数据;所述有效数据为:未被释放掉的数据;在整理完成后,更新所述当前存储起始地址为最后一个有效数据在所述缓存空间的下一地址;其中,从所述当前存储起始地址开始存储所述第一数据到缓存空间后还包括:记录所述第一数据的空闲状态,从而根据所述空闲状态,判断所述第一数据是否被释放掉。2.根据权利要求1所述的缓存处理方法,其特征在于,所述预设方法具体为:在所述缓存空间中选择一最早存储的失效数据,通过其存储位置信息,获取该失效数据在所述缓存空间的起始地址,更新当前存储起始地址为所述失效数据的起始地址;从该存储起始地址开始存储在所述失效数据之后的第一有效数据,更新第一有效数据的存储位置信息;更新所述当前存储起始地址为所述第一有效数据所在缓存空间的下一地址,使得在其之后的下一个有效数据能够从该存储起始地址开始重新进行缓存,直...

【专利技术属性】
技术研发人员:张林生
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1