CN101201800B - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN101201800B CN101201800B CN2007103015155A CN200710301515A CN101201800B CN 101201800 B CN101201800 B CN 101201800B CN 2007103015155 A CN2007103015155 A CN 2007103015155A CN 200710301515 A CN200710301515 A CN 200710301515A CN 101201800 B CN101201800 B CN 101201800B
- Authority
- CN
- China
- Prior art keywords
- data
- main memory
- cache
- subclauses
- clauses
- 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 - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种数据处理方法和装置。该方法包括:设置主存储器以组相联方式与高速缓存器相互关联,主存储器包括数个存储空间相等、顺序排列的主存块,高速缓存器包括数个存储空间相等、顺序排列的缓存块,且主存块存储空间为缓存块存储空间的两倍或两倍以上;将两个或两个以上、由数个数据条目组成的数据子表顺序存储在主存储器的主存块中;调整数据子表的大小等于主存块存储空间大小的N倍,其中N为自然数,且N≥2。该装置包括用于执行本发明数据处理方法各步骤的模块。本发明的技术方案能够减少采用高速缓存技术访问读取数据过程中出现的高速缓存冲突现象,以提高数据读取的速度,节省系统开销,改善系统的性能。
Description
技术领域
本发明涉及一种数据处理方法和装置,尤其涉及一种利用高速缓存技术处理数据的方法以及装置。
背景技术
高速缓存技术是基于程序访问的局部性(locality)原理产生的。所谓程序访问的局部性体现在两方面:1)时间局部性,即如果一个单元被访问,那么这个单元将来会被再次访问;2)空间局部性,即如果一个单元被访问,那么与这个单元邻近的单元将会被访问。
如图1所示为现有技术采用高速缓冲器(以下称Cache)的系统结构示意图,在CPU 1与主存储器2之间设置一个高速的、容量相对较小的存储器,将当前正在访问的、以及其邻近的指令和数据存储在其中,以便CPU 1在将来可以快速地访问使用,该存储器即为Cache 3。高速缓存技术极大地缓解了CPU与主存储器之间的数据传输瓶颈,在各种处理器中被普遍采用。
Cache缓存主存储器中数据的常见方式是:将主存储器空间与Cache空间相应地被划分成一系列的块(block),其中缓存块也称为缓存行,缓存块的存储空间大小通常为32字节或64字节,主存块的存储空间大小通常大于缓存块,一般为64字节或128字节。主存储器中的主存块映射到高速缓存器中的放置策略主要有3种:全相联、直接映射和组相联。其中,全相联即将一个主存块顺序读取至高速缓存器的所有缓存块中,例如一个主存块的大小为64字节,一个缓存块的大小为32字节,则主存块从缓存块的起始位置开始,顺序存储占用两个缓存块,存储完一个主存块的内容后再重复存储该主存块的内容,这种方式的优点是Cache的冲突小,缺点是速度慢;直接映射,即:将一个主存块按照设定规则读取至高速缓存器的一个缓存块中,该规则可以为关联到的缓存块号=主存块号mod缓存块数,若一个缓存块不足以放置一个完整的主存块时,则仅放置主存块前面的数据,填满一个缓存块为止,直接映射方式的优点是速度快,缺点是缓存冲突大;组相联介于全相联和直接映射之间,将缓存块分成若干组(Set),每个主存块采用直接映射方式被读取到一个组中,其中缓存组号=主存块号mod缓存组数,然后在组内采用全相联方式顺序放置在缓存块中,当该组内的缓存块不足以放置一个主存块时,则仅放置主存块前面的数据,组相联的优缺点介于全相联和直接映射方式之间。组相联通常可分为2路、4路和8路的组相联,路数即每个缓存组内所具有的缓存块数,则直接映射可看作是单路组相联、全相联可看作是路数为缓存块数的组相联。
如图2A所示为一个现有技术中的一个主存储器,每个主存块的大小为64字节,待缓存的主存块号为“12”,图2B~2E分别为该主存块在具有8块缓存块,每个缓存块的大小为32字节的高速缓存器中映射情况的示意图。图2B为采用全相联方式将该主存块顺序缓存在8个缓存块中,图2C为采用直接映射方式缓存在高速缓存器中的第“4”号缓存块中,缓存规则为缓存块号=主存块号mod缓存块数,即12mod8=4,图2D为采用2路组相联方式缓存在高速缓存器第“0”组的所有缓存块中,设置在第“0”组是按照12mod4=0的预设规则,图2E为采用4路组相联方式缓存在高速缓存器第“0”组(12mod4=0)的所有缓存块中。
按照上述Cache缓存数据的方式,在基于高速缓存技术进行数据读取时的基本方法为:数据处理器,例如CPU在读取所需数据时,可以采用存储器直接访问(Direct Memory Access,以下简称DMA)技术读取,首先会读取高速缓存器,当高速缓存器中未存储所需读取的数据时,会将所需数据所在的主存块从主存储器中按照设定的方式读取至高速缓存器的缓存块中,通常所需数据是包含在一个独立使用的数据条目中的,一个数据条目的大小往往不相等,顺序存储在一个或多个主存块中,所以一般需要同时读取多个主存块到缓存中,而后再从缓存块中读取至数据处理器。在基于高速缓存技术进行数据读取的过程中,命中率是衡量缓存效率的主要指标。当高速缓存器中缓存的数据不被命中时,就需要进行将数据换入、换出高速缓存器的操作,这类操作的开销很大。因此,提高高速缓存器的命中率是提高效率,减少开销的关键手段。
在数据读取过程中,发生不命中现象的原因主要有3种:1)首次访问,即高速缓存器中没有这个数据,必须从主存储器中读取,首次访问所造成的冲突是不可避免的;2)容量不足,即因为高速缓存器容量太小而不能保存需要访问的数据,数据换出后又被取入,高速缓存器的容量是由硬件决定的,因此也难以避免;3)冲突,组相联或直接映射方式中,主存储器中映射到同一组内的主存块数过多,导致某些主存块被反复的读入和换出,缓存冲突是和主存块的组织结构,及其与缓存块的映射关系有关的,是目前为提高缓存命中率而主要针对的研究对象。
在数据访问技术中,缓存冲突是一普遍现象,因为现有数据表的设计通常不对表中的数据排放进行严格的要求,在少数情况下,仅根据编译器或CPU的特点作字节对齐,表中数据的内容根据其功能来决定,表中数据的顺序一般按照规范格式甚至没有规范而简单的排放。上述技术方案导致在访问数据过程中会出现大量缓存冲突,增加了系统开销,降低了运行速度。
发明内容
本发明的目的是提供一种数据处理方法和装置,以实现在采用高速缓存技术读取数据时,降低高速缓存冲突,减少系统开销,提高运行速度,以及改善系统的性能。
为实现上述目的,一方面,提供了一种数据处理方法,包括:
设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,主存储器包括数个存储空间相等、顺序排列的主存块,高速缓存器包括数个存储空间相等、顺序排列的缓存块,且主存块存储空间为缓存块存储空间的两倍以上;
将两个以上、由数个数据条目组成的数据子表顺序存储在主存储器的主存块中;
调整数据子表的大小等于主存块存储空间大小的N倍,其中N为自然数,且N≥2。
为实现上述目的,另一方面,提供了一种数据处理装置,包括:
第一模块,用于设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,主存储器包括数个存储空间相等、顺序排列的主存块,高速缓存器包括数个存储空间相等、顺序排列的缓存块,且主存块存储空间为缓存块存储空间的两倍以上;
第二模块,用于将两个以上、由数个数据条目组成的数据子表顺序存储在主存储器的主存块中;
第三模块,用于在存储数据子表最后一个数据条目的主存块中,设置用于维持主存块存储一个数据子表中数据的空白条目。
本发明的数据处理方法可以采用本发明数据处理装置来执行。由以上技术方案可知,本发明采用合理处理主存储器中数据表的技术手段,克服了现有技术中,因数据表组织方式不当,导致缓存冲突高,数据访问命中率低,从而读取速度低,系统性能差的技术问题。因此,本发明的技术方案能够有效减少采用高速缓存技术访问读取数据过程中出现的缓存冲突现象,以提高数据读取的速度,节省系统开销,改善系统的性能。
下面通过具体实施例并结合附图对本发明做进一步的详细描述。
附图说明
图1所示为现有技术中采用高速缓存技术进行数据访问的系统结构示意图;
图2A所示为现有技术主存储器中的数据分布图;
图2B所示为图2A中主存储器按照全相联方式与高速缓存器间的映射关系示意图;
图2C所示为图2A中主存储器按照直接映射方式与高速缓存器间的映射关系示意图;
图2D所示为图2A中主存储器按照2路组相联方式与高速缓存器间的映射关系示意图;
图2E所示为图2A中主存储器按照4路组相联方式与高速缓存器间的映射关系示意图;
图3所示为本发明数据处理方法具体实施例的流程图;
图4所示为本发明数据处理方法具体实施例中主存储器按照2路组相联方式与高速缓存器间的映射关系示意图;
图5所示为本发明数据处理装置具体实施例的结构示意图。
具体实施方式
数据处理方法实施例
本发明数据处理方法具体实施例是具体应用于防火墙系统中。防火墙是位于网络边界的一种网络安全设备,它对进出网络的数据包进行安全检查。目前绝大多数的防火墙都是有状态的,所谓状态是指连接的状态。防火墙在其内部维护了一张规模较大的数据表,用于记录、跟踪连接的状态,所谓连接状态可以是指IP层协议的连接状态,例如TCP连接状态中初始连接、连接建立成功等等。连接状态表是状态防火墙的核心数据结构,该连接状态数据表通常具有以下特点:
(1)数据条目数量巨大,根据防火墙档次的不同,防火墙支持的并发连接数通常在几十万甚至几百万,因此防火墙需要维护的连接状态数量表中的条目数量是巨大的;
(2)访问非常频繁,防火墙每收到一个报文都要在连接状态数据表中进行匹配查找、状态更新、统计等操作;
(3)每个数据条目的信息元素很多,通常超过1个缓存块的大小,需要记录的连接状态信息根据检测的深度不同而不同,其通常可包括:识别此连接的5元组,包含源地址、目的地址、协议、源端口和目的端口;识别此连接当前协议状态,包括TCP状态、UDP/ICMP伪状态;TCP顺序号,例如发送序号、确认序号;TCP当前窗口,应用层的有关信息,如FTP命令序列等;各连接之间的相关信息;连接的活动情况;连接的超时;收发的流量统计;数据流重组;以及各种特定业务的相关信息,如安全策略信息、路由信息等;
(4)对信息元素访问的频率不同,有的需要频繁访问,有的很少访问。
外部的数据处理器,如CPU,对该连接状态数据表的访问速度是决定防火墙性能的关键之一,本实施例基于高速缓存技术对该存储在主存储器中的连接状态数据表进行数据处理的流程如图3所示,包括如下步骤:
步骤101、设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,该主存储器包括数个存储空间相等、顺序排列的主存块,该高速缓存器包括数个存储空间相等、顺序排列的缓存块,且该主存块存储空间为该缓存块存储空间的两倍或两倍以上;
步骤102、将两个或两个以上、由数个数据条目组成的数据子表顺序存储在主存储器的主存块中;
步骤103、调整所述数据子表的大小等于所述主存块存储空间大小的N倍,其中N为自然数,且N≥2。
在步骤103之后,还可以进一步包括:
步骤104、从高速缓存器读取数据,当高速缓存器中不存在所需数据时,从与高速缓存器相关联的主存储器中,将所需数据所在主存块中的所有数据按照设定规则,读取至高速缓存器的缓存块中;
步骤105、从缓存块中读取所需数据。
本实施例的技术方案,该主存储器的存储空间被划分为数个主存块,按照组相联的方式分别与高速缓存器中的各缓存块相关联。该数据处理方法中的步骤101、102和103具体是在主存储器所连接的控制模块的控制下,将连接状态数据表存储在主存储器的主存块中的,该控制模块可以为具有检测、分析、处理数据功能的功能部件,或者为能够执行模糊控制的数据分析系统等,该控制模块可以是与主存储器独立设置,相互连接的模块,也可以是与主存储器集成在一起形成主存储装置,其执行的具体操作步骤为:
在步骤101中,首先,设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,例如2路、4路......Y路组相联。在此步骤中,将主存储器划分为数个存储空间相等、顺序排列的主存块,将高速缓存器划分为数个存储空间相等、顺序排列的缓存块,且设置主存块存储空间为缓存块存储空间的两倍或两倍以上,例如设置缓存块为32字节时,设置主存块为64字节或128字节等,设置完成的主存块用于存储数据子表,数据子表是数据表的一部分,以防火墙的连接状态表为例,数据子表就是其中的一个连接状态子表,每个数据子表存储的数据格式基本相同,例如都用于存储一个连接状态的5元组,包括源地址、目的地址、协议、源端口和目的端口,而数据子表中每个具有独立意义和作用的数据又形成数据条目,例如“源地址”就是一个数据条目,数据条目所占用的空间大小可以并不一致。
在上述步骤102中,将多个数据子表顺次且连续地存储至主存储器的主存块中。
在上述步骤103中,调整数据子表的大小等于主存块存储空间大小的N倍,其中N为自然数,且N≥2。其具体的调整方式是在存储数据子表最后一个数据条目的主存块中设置空白条目,使该主存块至多存储一个数据子表中的数据,避免出现有些主存块存储两个数据子表中的数据,而第二个数据子表后半部分的数据要存储到下一个主存块的现象。因为一个数据子表的换出导致一个主存块被换出时,会有两个以上数据子表的部分内容被换出覆盖,若需要读取这部分数据时,又要整体的进行一次从主存储器到高速缓存器的读取,这无疑增加了系统的开销。设置空白条目的具体方式可以是当主存块中已经存储有一个数据子表的数据,该数据子表之后还有空余存储空间可存储下一个数据子表时,则在该空余存储空间内设置空白条目来占据该存储空间。
本实施例的技术方案实现了主存块不同时存储两个数据子表的数据,即:通过设置空白条目使数据子表的大小为主存块的N倍,其中N为自然数,且N≥2。该技术方案不会出现两个数据子表主存块读入时会交叉覆盖的现象,不需要重复读入,所以能够降低缓存冲突,提高缓存读取速度。
在本实施例的基础上,在步骤103和104之间,还可以执行下述操作:在存储各数据子表的第一个数据条目的各主存块中设置填充条目,填充条目设置在主存块中的数据条目之前,且填充条目的空间大小等于缓存块存储空间的自然数倍。
上述操作具体是在顺序存储数据子表数据条目的第一个主存块中,设置一个填充条目,且填充条目的空间大小等于缓存块存储空间的自然数倍,例如1倍或2倍,其作用是使数据子表的首地址不再映射到一个缓存组的第一个缓存块中。因为按照组相联方式,每个数据子表的首地址都是映射到缓存组的第一个缓存块中的,因为主存块数量远远多于缓存块,所以往往有多个数据子表的首地址映射到同一个缓存组的第一个缓存块中。另外,同一数据子表中各个数据条目的含义各不相同,其访问频率存在差异,这是由代码逻辑决定的,当各数据子表在缓存中映射的起始位置相同时,各数据子表中访问频率基本相同的数据条目也会相应的映射到同一缓存块中,例如目的地址存储在数据子表的第一个主存块中,那么在映射时,不同数据子表中的目的地址数据都会映射到同一缓存块中。此时会增加冲突发生的概率,因为访问频率较高的数据会映射到同一缓存块上,被反覆换入、换出,而访问频率低的数据同样映射到另一缓存块上,很少被用到,所以高速缓存器没有被充分利用。这种情况使缓存冲突增加,读写速度下降。上述技术方案恰能够解决这个缓存冲突的问题,一个数据子表的首地址是空白的填充条目,而填充条目的大小等于缓存块的大小,所以数据子表中真正的第一个数据条目会后错,被映射到缓存组的第2、3......M个缓存块中,后错的位置取决于填充条目的大小。较佳的技术方案是令各数据子表第一个主存块中填充条目的大小不一致,数据子表首地址均匀的错开映射至缓存组的各个缓存块中,例如编号分别为0、1、2、3、......、X的X个数据子表,4路组相联方式,一个缓存组包括4个32字节的缓存块,那么“0”号数据子表的第一个主存块中设置32字节的填充条目,“1”号数据子表的第一个主存块中设置64字节的填充条目,“2”号数据子表的第一个主存块中设置96字节的填充条目,“3”号数据子表的第一个主存块中设置128字节的填充条目,填充条目的大小依次递增,从“5”号数据子表开始循环,其第一个主存块中又设置32字节的填充条目,该技术方案可以使数据子表的首地址均匀的错开映射。图4所示为数据表与高速缓存器间映射关系的示意图。该示例采用2路组相联方式,高速缓存器分为两组,每组包括两个缓存块,主存储器被划分为9个主存块,从0~8依次编号,数据表包括两个数据子表,每个数据子表又包括两个数据条目,顺序存储在连续的主存块中,其中,第一个数据子表的第一个主存块,即第“0”号主存块,按照缓存组号=主存块号mod缓存组数的预设规则(0mod2=0),映射到第“0”号缓存块中,而第二个数据子表的第一个主存块,即第“4”号主存块,按照4mod2=0的规则映射到第“0”个缓存组中,因为“2”号主存块的数据条目前设置了填充条目,所以数据子表的数据条目实际上映射到第“1”号缓存块中,数据子表其他的主存块相应地顺序映射。当然,具体的设置方式可以根据主存块、缓存块、缓存组数的情况具体设定。
采用上述技术手段,可以减少缓存冲突。采用本发明上述技术方案使表项写入高速缓存器时的起始位不同,一方面不会完全覆盖掉原缓存表项,此时原缓存表项中没有被覆盖的内容仍然有效,另一方面,访问频率相同的数据不会映射到相同的缓存块中,能够减少缓存冲突,提高高速缓存器的利用率,进而提高数据读取速度,改善系统性能。
在上述技术方案的基础上,对主储存器中数据表的数据处理方法的具体实施方式还可以在将数据子表存储至主存储器的主存块之后执行下述操作:按照所述数据条目的访问频率调整数据条目在所述数据子表中的存储顺序。较佳的实施方式是按照访问频率从高到低的方式进行存储。即:按照各数据条目中所存储的数据的访问频率由高到低的顺序,来形成数据子表,而后存储在主存块中,第一个主存块中存储的数据访问频率较高,而后随着主存块号数的增加,所存储数据的访问频率递减,数据的访问频率一般与程序逻辑相关,而程序逻辑在程序设计完后会基本固定,所以数据的访问频率在设计完成后一般不再改变,可以据此调整数据的存储顺序,数据子表根据具体情况也可以不划分为多个条目,而直接将其中的数据按照访问频率。
每个数据子表中数据条目按照访问频率由高到低的顺序排列,会使访问频率最高的数据条目不同时位于同一缓存块中,使缓存块所映射的数据的访问频率进一步均匀化。或者至少设置相同或相近访问频率的数据条目存储在同一主存块中,即各主存块内存储的数据条目访问频率接近,但每个主存块的访问频率并不是顺序排列的。该技术方案也能使访问频率均匀化,则缓存冲突可以进一步减少。
采用上述实施例的数据处理方法进行防火墙连接状态数据表的处理操作,存储于主存储器中,在后续利用高速缓存器从主存储器中读取数据时,相比于读取传统按照直接、自然的方式去组织的连接状态数据表,可以避免出现非频繁访问的信息与频繁访问的信息平等占用高速缓存器的现象,从而能够减少数据读取过程中的缓存冲突,提高读取速度,改善系统的性能,具体可以使防火墙的吞吐率提高5%-10%,降低延迟,改善防火墙系统的性能。
数据处理装置实施例
如图5所示为本发明数据处理装置具体实施例的结构示意图,该装置包括:第一模块100,用于设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,主存储器包括数个存储空间相等、顺序排列的主存块,高速缓存器包括数个存储空间相等、顺序排列的缓存块,且主存块存储空间为缓存块存储空间的两倍或两倍以上;第二模块200,用于将两个或两个以上、由数个数据条目组成的数据子表顺序存储在主存储器的主存块中;第三模块300,用于在存储数据子表最后一个数据条目的主存块中,设置用于维持主存块存储一个数据子表中数据的空白条目,以便调整数据子表的大小等于主存块存储空间大小的N倍,其中N为自然数,且N≥2。
在上述技术方案的基础上,本实施例的数据处理装置中可以进一步包括:第四模块400,用于在存储各数据子表的第一个数据条目的各主存块中设置填充条目,该填充条目设置在主存块中的数据条目之前,且填充条目的空间大小等于缓存块存储空间的自然数倍。
进一步的,还可以设置:第五模块500,用于按照数据条目的访问频率调整数据条目在数据子表中的存储顺序。具体可以为调整数据条目在整个数据子表中按照访问频率由高至低的顺序排列,或者将访问频率相近的数据条目组织在同一主存块中。
本实施例的数据处理装置还可以包括:第六模块600,用于根据高速缓存器发送的数据读取指示,按照设定规则将指定主存块中的数据读取至缓存块中。其中的数据读取指示是由高速缓存器发送的,当外部设备从高速缓存器读取数据时,若高速缓存器中不存在所需数据,则该高速缓存器会向与其相关联的主存储器发送数据读取指示,将所需数据所在主存块中的所有数据按照设定规则,读取至高速缓存器的缓存块中,以备外部设备从缓存块中读取所需数据。
本实施例数据处理装置所执行的方法可以为本发明数据处理方法的任意实施例。本实施例的数据处理装置可针对数据表采用高速缓存技术进行读取,可以减少缓存冲突,提高读取速度,改善系统性能。
当然,本发明的数据处理方法和装置并不限于防火墙技术中的数据处理,在很多网络设备中都存在象防火墙连接状态数据表这样的数据表,例如网络地址转换(Network Address Translation,简称NAT)设备的地址转换表、基于流交换设备(路由器、交换机)的流表等等,本发明可适用于其他基于高速缓存技术进行的数据处理操作过程。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种数据处理方法,其特征在于包括:
设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,所述主存储器包括数个存储空间相等、顺序排列的主存块,所述高速缓存器包括数个存储空间相等、顺序排列的缓存块,且所述主存块存储空间为所述缓存块存储空间的两倍以上;
将两个以上、由数个数据条目组成的数据子表顺序存储在所述主存储器的主存块中;
调整所述数据子表的大小等于所述主存块存储空间大小的N倍,其中N为自然数,且N≥2,并在存储所述数据子表最后一个数据条目的所述主存块中,设置用于维持所述主存块存储一个数据子表中数据的空白条目。
2.根据权利要求1所述的数据处理方法,其特征在于,在存储所述数据子表最后一个数据条目的所述主存块中设置所述空白条目之后,还包括:在存储各所述数据子表的第一个数据条目的各主存块中设置大小不一致的填充条目,所述填充条目设置在所述主存块中的数据条目之前,且所述填充条目的空间大小等于所述缓存块存储空间的自然数倍。
3.根据权利要求2所述的数据处理方法,其特征在于,在所述主存块中设置填充条目具体为:在存储各所述数据子表的第一个数据条目的各主存块中分别设置空间大小递增的填充条目。
4.根据权利要求2或3所述的数据处理方法,其特征在于,在将两个或两个以上、由数个数据条目组成的数据子表顺序存储在所述主存储器的主存块中之后,还包括:按照所述数据条目的访问频率调整数据条目在所述数据子表中的存储顺序。
5.根据权利要求1~3所述的任一数据处理方法,其特征在于,还包括:
从所述高速缓存器读取数据,当所述高速缓存器中不存在所需数据时,从与所述高速缓存器相关联的所述主存储器中,将所需数据所在主存块中的所有数据按照设定规则,读取至所述高速缓存器的缓存块中;
从所述缓存块中读取所需数据。
6.一种数据处理装置,其特征在于包括:
第一模块,用于设置用于存储数据子表的主存储器以组相联方式与高速缓存器相互关联,所述主存储器包括数个存储空间相等、顺序排列的主存块,所述高速缓存器包括数个存储空间相等、顺序排列的缓存块,且所述主存块存储空间为所述缓存块存储空间的两倍以上;
第二模块,用于将两个以上、由数个数据条目组成的数据子表顺序存储在所述主存储器的主存块中;
第三模块,用于在存储所述数据子表最后一个数据条目的所述主存块中,设置用于维持所述主存块存储一个数据子表中数据的空白条目。
7.根据权利要求6所述的数据处理装置,其特征在于还包括:
第四模块,用于在存储各所述数据子表的第一个数据条目的各主存块中设置大小不一致的填充条目,所述填充条目设置在所述主存块中的数据条目之前,且所述填充条目的空间大小等于所述缓存块存储空间的自然数倍。
8.根据权利要求7所述的数据处理装置,其特征在于还包括:
第五模块,用于按照所述数据条目的访问频率调整数据条目在所述数据子表中的存储顺序。
9.根据权利要求8所述的数据处理装置,其特征在于还包括:
第六模块,用于根据高速缓存器发送的数据读取指示,按照设定规则将指定主存块中的数据读取至缓存块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103015155A CN101201800B (zh) | 2007-12-21 | 2007-12-21 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103015155A CN101201800B (zh) | 2007-12-21 | 2007-12-21 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101201800A CN101201800A (zh) | 2008-06-18 |
CN101201800B true CN101201800B (zh) | 2010-06-09 |
Family
ID=39516972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007103015155A Expired - Fee Related CN101201800B (zh) | 2007-12-21 | 2007-12-21 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101201800B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667158B (zh) * | 2009-09-15 | 2015-07-01 | 威盛电子股份有限公司 | 串流上下文的高速缓存系统 |
US9077416B2 (en) | 2012-12-31 | 2015-07-07 | Spreadtrum Communications (Shanghai) Co., Ltd. | Method and apparatus for demodulating downlink channel in communication system and baseband chip |
US9054837B2 (en) | 2012-12-31 | 2015-06-09 | Spreadtrum Communications (Shanghai) Co., Ltd. | Demodulation method and apparatus, decoding method and apparatus and baseband chip in communication system |
US9501418B2 (en) | 2014-06-26 | 2016-11-22 | HGST Netherlands B.V. | Invalidation data area for cache |
KR102468992B1 (ko) * | 2015-11-06 | 2022-11-22 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
CN106331172A (zh) * | 2016-10-20 | 2017-01-11 | 杭州迪普科技有限公司 | 一种应用于内容分发网络的资源检测方法及装置 |
CN109952565B (zh) * | 2016-11-16 | 2021-10-22 | 华为技术有限公司 | 内存访问技术 |
US10572407B2 (en) * | 2017-08-11 | 2020-02-25 | Western Digital Technologies, Inc. | Hybrid data storage array |
-
2007
- 2007-12-21 CN CN2007103015155A patent/CN101201800B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101201800A (zh) | 2008-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201800B (zh) | 数据处理方法和装置 | |
CN104461393B (zh) | 一种闪存存储器的混合映射方法 | |
TWI238935B (en) | Reconfigurable cache controller for nonuniform memory access computer systems | |
CN104881248B (zh) | 面向ssd的文件系统中自适应直接io加速方法 | |
CN105095099B (zh) | 一种基于内存页位图变更的大内存页整合方法 | |
CN100536435C (zh) | 一种基于二叉树的流分类查找方法 | |
CN105938458B (zh) | 软件定义的异构混合内存管理方法 | |
CN102147768B (zh) | 存储器、固态缓存系统及缓存数据处理方法 | |
CN103345451B (zh) | 一种在多核处理器中缓冲数据的方法 | |
CN105022696B (zh) | 一种基于内存访问热度的大内存页整合方法 | |
CN102880573A (zh) | 一种基于Linux系统的串行RapidIo数据传输方法 | |
GB2377298A (en) | Method for controlling cache system comprising direct-mapped cache and fully-associative buffer | |
CN104461387A (zh) | 一种提高固态硬盘对未映射区域的读性能的方法 | |
CN105183662A (zh) | 一种无cache一致性协议的分布式共享片上存储架构 | |
EP0032956A1 (en) | Data processing system utilizing hierarchical memory | |
CN104714903A (zh) | 存储系统 | |
CN103399824A (zh) | 一种计算机处理器中高速缓存中缓存不命中的状态保持方法与装置 | |
US7318114B1 (en) | System and method for dynamic memory interleaving and de-interleaving | |
CN101236564A (zh) | 一种海量数据高性能读取显示方法 | |
CN110059024B (zh) | 一种内存空间数据缓存方法及装置 | |
CN106126440A (zh) | 一种改善数据在缓存中空间局部性的缓存方法及装置 | |
CN104394099B (zh) | 一种报文传输方法及装置 | |
CN103823766B (zh) | Flash存储器的高效率存储方法 | |
US7627719B2 (en) | Cache device and method for determining LRU identifier by pointer values | |
CN106919516A (zh) | Ddr地址映射系统和方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100609 Termination date: 20141221 |
|
EXPY | Termination of patent right or utility model |