CN103150269A - 一种数据缓存控制方法和系统 - Google Patents
一种数据缓存控制方法和系统 Download PDFInfo
- Publication number
- CN103150269A CN103150269A CN201110401979XA CN201110401979A CN103150269A CN 103150269 A CN103150269 A CN 103150269A CN 201110401979X A CN201110401979X A CN 201110401979XA CN 201110401979 A CN201110401979 A CN 201110401979A CN 103150269 A CN103150269 A CN 103150269A
- Authority
- CN
- China
- Prior art keywords
- row
- buffer memory
- replaced
- effective marker
- data
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种数据缓存控制方法和系统,包括:确定需要对缓存的有效标志行进行替换操作;存储被替换行中的有效数据地址;判断被替换行的索引中是否存在无效标志行;若存在,将所述有效数据地址对应的数据填入该被替换行;本发明记录了被替换的有效数据的地址信息,一旦有此地址所对应的任何一路的索引数据变为无效标志,Cache控制器可从外围存储空间去取得数据,增加Cache的命中率,提高了处理器运行的效率。
Description
技术领域
本发明属于存储领域,尤其涉及一种数据缓存控制方法和系统。
背景技术
近年来,为了缩短对主存储器的存取时间、提高处理器的处理能力,高速缓存存储器(Cache)被广泛应用。
现有技术中,中央处理单元(CPU)对缓存中的数据进行读取时,进行如下操作:
步骤A,根据操作数的地址,选取相应的索引(index);
步骤B,读取各路的索引所对应标记随机存储器(Tag RAM)信息来判断是否存在无效标志(invalid)行;
步骤C,若存在无效标志行,即使用此无效标志行,若各路对应此索引皆为有效标志(valid)行,则根据此时的替换算法配置来进行替换,选取一个有效标志(valid)行做为牺牲者(victim),将牺牲者的数据写入外围的存储空间,将缓存内的位置空余出来给操作数。
现有技术所存在的问题在于:当对于此索引的各路都是有效标志行的时候,CPU以后需要使用的有效数据很可能已经作为牺牲者,被替换到了外围电路,当CPU需要使用该牺牲者数据时,只能直接到主存储器中读取,相比于在缓存中直接读取,在主存储器读取会花费更多时间,这样会降低CPU的运行效率。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种数据缓存控制方法和系统。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
本发明的一方面是提供一种数据缓存控制方法,包括:
确定需要对缓存的有效标志行进行替换操作;
存储被替换行中的有效数据地址;
判断被替换行的索引中是否存在无效标志行;
若存在,将所述有效数据地址对应的数据填入该被替换行。
在一些可选的实施例中,所述对缓存的有效标志行进行替换操作是通过轮询机制或伪随机机制确定该有效标志行的。
在一些可选的实施例中,在缓存中不存在无效标志行时,即确定需要对缓存的有效标志行进行替换操作。
在一些可选的实施例中,通过读取缓存各路的索引所对应标记随机存储器信息来判断是否存在无效标志行。
本发明的另一方面是提供一种数据缓存控制系统,包括:
读取控制器:确定需要对缓存的有效标志行进行替换操作;
存储模块:存储被替换行中的有效数据地址;
判断模块:判断被替换行的索引中是否存在无效标志行;
若存在,返回模块将所述有效数据地址对应的数据填入该被替换行。
在一些可选的实施例中,所述读取控制器对缓存的有效标志行进行替换操作是通过轮询机制或伪随机机制确定该有效标志行的。
在一些可选的实施例中,所述读取控制器在缓存中不存在无效标志行时,即确定需要对缓存的有效标志行进行替换操作。
在一些可选的实施例中,所述读取控制器读取缓存各路的索引所对应标记随机存储器信息来判断是否存在无效标志行。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
本发明记录了被替换的有效数据的地址信息,一旦有此地址所对应的任何一路的索引(Index)数据变为无效标志,Cache控制器可从外围存储空间去取得数据,增加Cache的命中率,提高了处理器运行的效率。
附图说明
图1是本发明的方法流程图;
图2是本发明的系统示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
本发明的一方面是提供一种数据缓存控制方法,包括:
步骤S101:确定需要对缓存的有效标志行进行替换操作;
步骤S102:存储被替换行中的有效数据地址;
步骤S103:判断被替换行的索引中是否存在无效标志行;
若存在,步骤S104:将所述有效数据地址对应的数据填入该被替换行。
在一些可选的实施例中,所述对缓存的有效标志行进行替换操作是通过轮询机制或伪随机机制确定该有效标志行的。
在一些可选的实施例中,在缓存中不存在无效标志行时,即确定需要对缓存的有效标志行进行替换操作。
在一些可选的实施例中,通过读取缓存各路的索引所对应标记随机存储器信息来判断是否存在无效标志行。
较佳的,以8路的缓存(Cache)举例,缓存控制器实现缓存存储界(Cache line )的替换算法是依据标记随机存储器(Tag RAM)的有效标志(valid)来做判定的,具体而言,当操作数的地址出现未命中(Cache miss)时,需要给此操作数分配一行,在各路中,看相应的索引(index)的标记随机存储器(Tag RAM)所存有效标志(valid)位的信息,若各路的对应此索引(index)有无效标志(invalid),就选择此位,若此时都是有效标识(valid), 依据所配替换算法是配置为轮询(round-robin)或伪随机(pseudo-random)的机制来选取作为被替换掉的行,即牺牲者(victim)。
具体步骤如下:
步骤1,根据操作数A的地址,选取相应的索引(index);
步骤2,读取各路的索引所对应标记随机存储器(Tag RAM)信息来判断是否存在有效标志(valid)的行;
步骤3,若各路对应此索引(Index)皆为有效标志(valid)行,则根据此时的替换算法配置来进行替换,选取一个有效标识行为牺牲者,将牺牲者的数据B写入外围的存储空间,将Cache内的位置空余出来给操作数A;
步骤4,通过本发明提供的存储模块以及相应的配套电路,记忆被替换掉的有效数据的地址及相关信息,一旦此被替换掉的数据行B所相应索引(index)中的其它数据,经过读,变为无效标志行(invalid),Cache 控制器自动从外围存储空间取得该被替换掉的行A的数据进行Cache数据填充。
本发明的另一方面是提供一种数据缓存控制系统,包括:
读取控制器S201:确定需要对缓存的有效标志行进行替换操作;
存储模块S202:存储被替换行中的有效数据地址;
判断模块S203:判断被替换行的索引中是否存在无效标志行;
若存在,返回模块S204将所述有效数据地址对应的数据填入该被替换行。
在一些可选的实施例中,所述读取控制器S201对缓存的有效标志行进行替换操作是通过轮询机制或伪随机机制确定该有效标志行的。
在一些可选的实施例中,所述读取控制器S201在缓存中不存在无效标志行时,即确定需要对缓存的有效标志行进行替换操作。
在一些可选的实施例中,所述读取控制器S201读取缓存各路的索引所对应标记随机存储器信息来判断是否存在无效标志行。
本发明通过记录被替换的有效数据的地址信息,一旦有此地址所对应的任何一路的索引(Index)数据变为无效标志,Cache控制器可从外围存储空间去取得数据,增加Cache的命中率,提高了处理器运行的效率。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
用于执行本申请所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任意组合,可以实现或执行结合本文的实施例所描述的各种说明性的逻辑框图、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可能实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
而且,本文所述的各个方面或特征可以作为使用标准的程序设计和/或工程技术的方法、装置或制品来实现。本文所使用的术语“制品”是要包括可以从任何计算机可读的设备、载波或介质来访问的计算机程序。例如,计算机可读的介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带等)、光盘(例如,紧凑光盘(CD)、数字通用光盘(DVD)等)、智能卡以及闪速存储设备(例如,EPROM、卡、棒、钥匙驱动器等)。此外,本文描述的各种存储介质表示为用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”包括但不限于能够存储、包含和/或携带指令和/或数据的无线信道和各种其它介质。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (8)
1.一种数据缓存控制方法,其特征在于,包括:
确定需要对缓存的有效标志行进行替换操作;
存储被替换行中的有效数据地址;
判断被替换行的索引中是否存在无效标志行;
若存在,将所述有效数据地址对应的数据填入该被替换行。
2.如权利要求1所述的方法,其特征在于,所述对缓存的有效标志行进行替换操作是通过轮询机制或伪随机机制确定该有效标志行的。
3.如权利要求2所述的方法,其特征在于,在缓存中不存在无效标志行时,即确定需要对缓存的有效标志行进行替换操作。
4.如权利要求3所述的方法,其特征在于,通过读取缓存各路的索引所对应标记随机存储器信息来判断是否存在无效标志行。
5.一种数据缓存控制系统,其特征在于,包括:
读取控制器:确定需要对缓存的有效标志行进行替换操作;
存储模块:存储被替换行中的有效数据地址;
判断模块:判断被替换行的索引中是否存在无效标志行;
若存在,返回模块将所述有效数据地址对应的数据填入该被替换行。
6.如权利要求5所述的系统,其特征在于,所述读取控制器对缓存的有效标志行进行替换操作是通过轮询机制或伪随机机制确定该有效标志行的。
7.如权利要求6所述的系统,其特征在于,所述读取控制器在缓存中不存在无效标志行时,即确定需要对缓存的有效标志行进行替换操作。
8.如权利要求7所述的系统,其特征在于,所述读取控制器读取缓存各路的索引所对应标记随机存储器信息来判断是否存在无效标志行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110401979.XA CN103150269B (zh) | 2011-12-06 | 2011-12-06 | 一种数据缓存控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110401979.XA CN103150269B (zh) | 2011-12-06 | 2011-12-06 | 一种数据缓存控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150269A true CN103150269A (zh) | 2013-06-12 |
CN103150269B CN103150269B (zh) | 2017-07-14 |
Family
ID=48548362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110401979.XA Active CN103150269B (zh) | 2011-12-06 | 2011-12-06 | 一种数据缓存控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150269B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108549061A (zh) * | 2018-04-24 | 2018-09-18 | 扬州健行电子科技有限公司 | 一种信号的聚类方法 |
CN109299018A (zh) * | 2018-08-15 | 2019-02-01 | 深圳拓邦股份有限公司 | 一种Flash存储器中历史数据的读取方法及装置 |
CN111602377A (zh) * | 2017-12-27 | 2020-08-28 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606735A (zh) * | 2001-12-20 | 2005-04-13 | 英特尔公司 | 在缓存路中进行数据替换的系统和方法 |
CN1677369A (zh) * | 2004-02-13 | 2005-10-05 | 英特尔公司 | 用于分级高速缓存行替换的方法、系统及装置 |
CN1829979A (zh) * | 2003-08-05 | 2006-09-06 | Sap股份公司 | 数据缓存方法 |
US20100262782A1 (en) * | 2009-04-08 | 2010-10-14 | International Business Machines Corporation | Lateral Castout Target Selection |
-
2011
- 2011-12-06 CN CN201110401979.XA patent/CN103150269B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1606735A (zh) * | 2001-12-20 | 2005-04-13 | 英特尔公司 | 在缓存路中进行数据替换的系统和方法 |
CN1829979A (zh) * | 2003-08-05 | 2006-09-06 | Sap股份公司 | 数据缓存方法 |
CN1677369A (zh) * | 2004-02-13 | 2005-10-05 | 英特尔公司 | 用于分级高速缓存行替换的方法、系统及装置 |
US20100262782A1 (en) * | 2009-04-08 | 2010-10-14 | International Business Machines Corporation | Lateral Castout Target Selection |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111602377A (zh) * | 2017-12-27 | 2020-08-28 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
CN108549061A (zh) * | 2018-04-24 | 2018-09-18 | 扬州健行电子科技有限公司 | 一种信号的聚类方法 |
CN108549061B (zh) * | 2018-04-24 | 2022-02-11 | 扬州健行电子科技有限公司 | 一种信号的聚类方法 |
CN109299018A (zh) * | 2018-08-15 | 2019-02-01 | 深圳拓邦股份有限公司 | 一种Flash存储器中历史数据的读取方法及装置 |
CN109299018B (zh) * | 2018-08-15 | 2023-12-29 | 深圳拓邦股份有限公司 | 一种Flash存储器中历史数据的读取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103150269B (zh) | 2017-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102498522B (zh) | 用于减小固态器件中的写入放大的容器标记方案 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
CN108874309B (zh) | 一种管理固态硬盘中物理块的方法和装置 | |
US8725936B2 (en) | Storage system with flash memory, and storage control method | |
CN105373486B (zh) | 计算系统中动态存储器地址的重新映射 | |
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
KR101139151B1 (ko) | 캐시 제어 장치, 정보 처리 장치 및 캐시 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN106484761B (zh) | 用于改进储存日志的方法和系统 | |
KR101599654B1 (ko) | 패리티 및 리던던트 행들을 이용한 동적 에러 핸들링 | |
CN110032521A (zh) | 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统 | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
US9772937B2 (en) | Data processing method, memory controller and memory storage apparatus | |
CN103136105A (zh) | 一种内存管理方法、嵌入式系统和视频数据处理系统 | |
CN104011689A (zh) | 非易失性存储器损耗管理 | |
CN105653005A (zh) | 片上系统、操作片上系统的方法和包括片上系统的装置 | |
KR101365134B1 (ko) | 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법 | |
CN103150269A (zh) | 一种数据缓存控制方法和系统 | |
KR101547134B1 (ko) | 메모리 관리 장치 및 방법 | |
US9514040B2 (en) | Memory storage device and memory controller and access method thereof | |
US10650879B2 (en) | Device and method for controlling refresh cycles of non-volatile memories | |
CN102169464B (zh) | 一种用于非易失性存储器的缓存方法、装置及智能卡 | |
CN109240615A (zh) | 一种固态硬盘的数据读取方法、装置及设备 | |
CN111061429B (zh) | 一种数据访问方法、装置、设备、介质 | |
CN101482840A (zh) | 掉电记忆保护方法 | |
CN104657083A (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Rooms 1601-1611 and 1701-1711, No.25, Huizhi Third Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee after: Guangdong new shoreline Technology Co.,Ltd. Address before: 100084, 16 floor, building A, building 8, Tsinghua Science Park, No. 1, Zhongguancun East Road, Haidian District, Beijing Patentee before: NUFRONT MOBILE COMMUNICATIONS TECHNOLOGY Co.,Ltd. |