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.根据权利要求1所述的缓存处理方法,其特征在于,所述预设方法具体为:在所述缓存空间中选择一最早存储的失效数据,通过其存储位置信息,获取该失效数据在所述缓存空间的起始地址,更新当前存储起始地址为所述失效数据的起始地址;从该存储起始地址开始存储在所述失效数据之后的第一有效数据,更新第一有效数据的存储位置信息;更新所述当前存储起始地址为所述第一有效数据所在缓存空间的下一地址,使得在其之后的下一个有效数据能够从该存储起始地址开始重新进行缓存,直...
【专利技术属性】
技术研发人员:张林生,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。